我眼中的大数据(一)[通俗易懂]

我眼中的大数据(一)[通俗易懂]前言 在正式落地谈技术之前,先花一些篇幅说说大数据技术的发展史。我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,分别是分布式文件系统GFS、大数据分布式计算框架MapRed

我眼中的大数据(一)

前言

在正式落地谈技术之前,先花一些篇幅说说大数据技术的发展史。我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable(如果大家需要可以留言给我,我可以专门解读一下)。


一、从搜索引擎开始

搜索引擎主要就做两件事情,一个是网页抓取,一个是索引构建,在这个过程中,有大量的数据需要存储和计算。当时的大数据其实就是用来解决这个问题的,一个文件系统、一个计算框架、一个数据库系统。

在2004年那会儿,Google发布的论文实在是让业界为之一振,大家恍然大悟,原来还可以这么玩。因为那个时间段,大多数公司在思考如何提升单机的性能,寻找更贵更好的服务器。而Google的思路是部署一个大规模的服务器集群,通过分布式的方式将海量数据存储在这个集群上,然后利用集群上的所有机器进行数据计算。

当时Lucene开源项目的创始人Doug Cutting正在开发开源搜索引擎Nutch,阅读了Google的论文后,他非常兴奋,紧接着就根据论文原理初步实现了类似GFS和MapReduce的功能。

两年后的2006年,Doug Cutting将这些大数据相关的功能从Nutch中分离了出来,然后启动了一个独立的项目专门开发维护大数据技术,这就是后来赫赫有名的Hadoop,主要包括Hadoop分布式文件系统HDFS和大数据计算引擎MapReduce。

Hadoop发布之后,Yahoo很快就用了起来。大概又过了一年到了2007年,百度和阿里巴巴也开始使用Hadoop进行大数据存储与计算。

2008年,Hadoop正式成为Apache的顶级项目,后来Doug Cutting本人也成为了Apache基金会的主席。自此,Hadoop作为软件开发领域的一颗明星冉冉升起。同年,专门运营Hadoop的商业公司Cloudera成立,Hadoop得到进一步的商业支持。

这个时候,Yahoo的一些人觉得用MapReduce进行大数据编程太麻烦了,于是便开发了Pig。Pig是一种脚本语言,使用类SQL的语法,开发者可以用Pig脚本描述要对大数据集上进行的操作,Pig经过编译后会生成MapReduce程序,然后在Hadoop上运行。

编写Pig脚本虽然比直接MapReduce编程容易,但是依然需要学习新的脚本语法。于是Facebook又发布了Hive。Hive支持使用SQL语法来进行大数据计算,比如说你可以写个Select语句进行数据查询,然后Hive会把SQL语句转化成MapReduce的计算程序。这样,熟悉数据库的数据分析师和工程师便可以无门槛地使用大数据进行数据分析和处理了。Hive出现后极大程度地降低了Hadoop的使用难度,迅速得到开发者和企业的追捧。据说,2011年的时候,Facebook大数据平台上运行的作业90%都来源于Hive。

在Hadoop早期,MapReduce既是一个执行引擎,又是一个资源调度框架,服务器集群的资源调度管理由MapReduce自己完成。但是这样不利于资源复用,也使得MapReduce非常臃肿。于是一个新项目启动了,将MapReduce执行引擎和资源调度分离开来,这就是Yarn。2012年,Yarn成为一个独立的项目开始运营,随后被各类大数据产品支持,成为大数据平台上最主流的资源调度系统

同样是在2012年,Spark开始崭露头角。当时AMP实验室的马铁博士发现使用MapReduce进行机器学习计算的时候性能非常差,因为机器学习算法通常需要进行很多次的迭代计算,而MapReduce每执行一次Map和Reduce计算都需要重新启动一次作业,带来大量的消耗。还有一点就是MapReduce主要使用磁盘作为存储介质,而2012年的时候,内存已经突破容量和成本限制,成为数据运行过程中主要的存储介质。Spark一经推出,立即受到业界的追捧,并逐步替代MapReduce在企业应用中的地位。

一般说来,像MapReduce、Spark这类计算框架处理的业务场景都被称作批处理计算,因为它们通常针对以“天”为单位产生的数据进行一次计算,然后得到需要的结果,这中间计算需要花费的时间大概是几十分钟甚至更长的时间。因为计算的数据是非在线得到的实时数据,而是历史数据,所以这类计算也被称为大数据离线计算

而在大数据领域,还有另外一类应用场景,它们需要对实时产生的大量数据进行即时计算,比如对于遍布城市的监控摄像头进行人脸识别和嫌犯追踪。这类计算称为大数据流计算,相应地,有Storm、Flink、Spark Streaming等流计算框架来满足此类大数据应用的场景。 流式计算要处理的数据是实时在线产生的数据,所以这类计算也被称为大数据实时计算

在典型的大数据的业务场景下,数据业务最通用的做法是,采用批处理的技术处理历史全量数据,采用流式计算处理实时新增数据。而像Flink这样的计算引擎,可以同时支持流式计算和批处理计算。

除了大数据批处理和流处理,NoSQL系统处理的主要也是大规模海量数据的存储与访问,所以也被归为大数据技术。 NoSQL曾经在2011年左右非常火爆,涌现出HBase、Cassandra等许多优秀的产品,其中HBase是从Hadoop中分离出来的、基于HDFS的NoSQL系统。

上面的这些基本上都可以归类为大数据引擎或者大数据框架。而大数据处理的主要应用场景包括数据分析、数据挖掘与机器学习。数据分析主要使用Hive、Spark SQL等SQL引擎完成;数据挖掘与机器学习则有专门的机器学习框架TensorFlow、Mahout以及MLlib等,内置了主要的机器学习和数据挖掘算法。

二、结合人工智能

在过去,受数据采集、存储、计算能力的限制,只能通过抽样的方式获取小部分数据,无法得到完整的、全局的、细节的规律。而现在有了大数据,可以把全部的历史数据都收集起来,统计其规律,进而预测正在发生的事情

这就是机器学习。

把历史上人类围棋对弈的棋谱数据都存储起来,针对每一种盘面记录如何落子可以得到更高的赢面。得到这个统计规律以后,就可以利用这个规律用机器和人下棋,每一步都计算落在何处将得到更大的赢面,于是我们就得到了一个会下棋的机器人,这就是前两年轰动一时的AlphaGo,以压倒性优势下赢了人类的顶尖棋手。

再举个和我们生活更近的例子。把人聊天的对话数据都收集起来,记录每一次对话的上下文,如果上一句是问今天过得怎么样,那么下一句该如何应对,通过机器学习可以统计出来。将来有人再问今天过得怎么样,就可以自动回复下一句话,于是我们就得到一个会聊天的机器人。Siri、天猫精灵、小爱同学,这样的语音聊天机器人在机器学习时代已经满大街都是了。

将人类活动产生的数据,通过机器学习得到统计规律,进而可以模拟人的行为,使机器表现出人类特有的智能,这就是人工智能AI。

现在我们对待人工智能还有些不理智的态度,有的人认为人工智能会越来越强大,将来会统治人类。实际上,稍微了解一点人工智能的原理就会发现,这只是大数据计算出来的统计规律而已,表现的再智能,也不可能理解这样做的意义,而有意义才是人类智能的源泉。按目前人工智能的发展思路,永远不可能出现超越人类的智能,更不可能统治人类。

大数据从搜索引擎到机器学习,发展思路其实是一脉相承的,就是想发现数据中的规律并为我们所用。所以很多人把数据称作金矿,大数据应用就是从这座蕴含知识宝藏的金矿中发掘中有商业价值的真金白银出来。

数据中蕴藏着价值已经是众所周知的事情了,那么如何从这些庞大的数据中发掘出我们想要的知识价值,这正是大数据技术目前正在解决的事情,包括大数据存储与计算,也包括大数据分析、挖掘、机器学习等应用。

原文地址:https://www.cnblogs.com/hhhnicvscs/archive/2022/09/21/16716060.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4738.html

(0)
上一篇 2023-06-07
下一篇 2023-06-07

相关推荐

  • clickhouse是什么类型数据库_clickhouse表引擎

    clickhouse是什么类型数据库_clickhouse表引擎ClickHouse属于分析型数据库,ClickHouse提供了许多数据类型,它们可以划分为基础类型、复合类型和特殊类型。其中基础类型使ClickHouse具备了描述数据的基本能力,而另外两种类型则使

    2023-06-03
    100
  • Python程序报错:name ‘a’ is not defined解决方法

    Python程序报错:name ‘a’ is not defined解决方法在Python编写程序的时候,经常会遇到“name ‘a’ is not defined”这样的报错信息。这个报错信息的意思是说,Python找不到变量a的定义。出现这个错误,通常是因为在代码中使用了未定义的变量或者变量名写错了。

    2023-12-24
    61
  • 包含python读写excel练习的词条

    包含python读写excel练习的词条1.首先说明我是使用的python3.5,我的office版本是2010,首先打开dos命令窗,安装必须的两个库,命令是:

    2023-11-19
    80
  • Oracle 建立索引及SQL优化[通俗易懂]

    Oracle 建立索引及SQL优化[通俗易懂]数据库索引: 索引有单列索引复合索引之说 如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。 建设原则: 1、索引应该经常

    2023-03-01
    110
  • SQL Server 2000_td数据

    SQL Server 2000_td数据腾讯云数据库TDSQL与中国人民大学最新联合研究成果被SIGMOD 2022接收并将通过长文形式发表。SIGMOD是国际数据管理与数据库领域顶尖的学术会议之一,腾讯云数据库TDSQL论文已连续多年入选

    2023-05-22
    141
  • mysql的CURRENT_TIMESTAMP【转】「建议收藏」

    mysql的CURRENT_TIMESTAMP【转】「建议收藏」在创建时间字段的时候 表示当插入数据的时候,该字段默认值为当前时间 表示每次更新这条数据的时候,该字段都会更新成当前时间 这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】

    2023-02-17
    123
  • 班级管理的利器:Python新智能应用

    班级管理的利器:Python新智能应用班级管理是每个学校的日常工作,无论是教师还是学生家长,都需要对学生的成长情况进行监控和管理。随着社会的不断发展和创新,班级管理也需要不断更新,以适应新的需求和工作方式。Python作为一种编程语言,其强大的数据处理和分析能力,为班级管理提供了新的智能应用。

    2023-12-17
    65
  • sqlserver安装完成但失败_sql server 2008安装出现错误

    sqlserver安装完成但失败_sql server 2008安装出现错误最近安装SQL 2019遇到这个问题,试过网上几乎所有办法,都安装不上。最后在微软社区提问解决了,由于这个问题不常见,并且网上几乎没有正确的解决方案,因此将我的解决过程及经验记录分享一下,也为后来者提

    2023-05-09
    109

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注