大数据处理框架深入解读.docx
《大数据处理框架深入解读.docx》由会员分享,可在线阅读,更多相关《大数据处理框架深入解读.docx(17页珍藏版)》请在第一文库网上搜索。
1、大数据处理框架深入解读目录大数据处理框架深入解读1前言3一、基础41大数据的定义42 .大数据的特征4V o1ume5V e1ocity5V ariety53 .大数据处理流程64 .大数据处理框架的定义6二、数据处理框架分类7三、批处理系统8ApacheHadoop8四、流处理系统10APaCheStorm.11APaCheSaiT1Za.12五、混合处理系统:批处理和流处理13ApacheSpark14ApacheF1ink15六、大数据处理框架的选择171 .对于初学者172 .对于企业应用18前言说起大数据处理,一切都起源于GoogIe公司的经典论文:MapReduce:Simp1ie
2、dDataProcessingon1argeC1usterso在当时(2000年左右),由于网页数量急剧增加,GOOgIe公司内部平时要编写很多的程序来处理大量的原始数据:爬虫爬到的网页、网页请求日志;计算各种类型的派生数据:倒排索引、网页的各种图结构等等。这些计算在概念上很容易理解,但由于输入数据量很大,单机难以处理。所以需要利用分布式的方式完成计算,并且需要考虑如何进行并行计算、分配数据和处理失败等等问题。针对这些复杂的问题,GoogIe决定设计一套抽象模型来执行这些简单计算,并隐藏并发、容错、数据分布和均衡负载等方面的细节。受到1iSP和其它函数式编程语言map、reduce思想的启发,
3、论文的作者意识到许多计算都涉及对每条数据执行map操作,得到一批中间key/va1ue对,然后利用reduce操作合并那些key值相同的k-V对。这种模型能很容易实现大规模并行计算。事实上,与很多人理解不同的是,MaPRedUCe对大数据计算的最大贡献,其实并不是它名字直观显示的MaP和RedUCe思想(正如上文提到的,MaP和RedUCe思想在1iSP等函数式编程语言中很早就存在了),而是这个计算框架可以运行在一群廉价的PC机上。MapReduce的伟大之处在于给大众们普及了工业界对于大数据计算的理解:它提供了良好的横向扩展性和容错处理机制,至此大数据计算由集中式过渡至分布式。以前,想对更多
4、的数据进行计算就要造更快的计算机,而现在只需要添加计算节点。话说当年的GOOgIe有三宝:MapReduceGFS和BigTab1eo但GOOg1e三宝虽好,寻常百姓想用却用不上,原因很简单:它们都不开源。于是HadooP应运而生,初代Hadoop的MapReduce和I1DES即为Goog1e的MapReduce和GFS的开源实现(另一宝BigTabIe的开源实现是同样大名鼎鼎的HBaSe)o自此,大数据处理框架的历史大幕正式的缓缓拉开。一、基础1 .大数据的定义“大数据”一词的确切定义其实是很难给出的,因为不同的人(供应商、从业者、商业公司等)对它的理解也并不完全一致。通常来讲,大数据是:
5、.大数据集用于处理大数据集的某类技术此处的“大数据集”是指一个数据集的数据量太大以至于无法使用传统工具或单机方式来处理和存储,而处理技术包括数据接入、数据持久化存储、数据计算和分析、数据展示(可视化)等等。2 .大数据的特征大数据系统的基本需求与传统系统并没有本质上的不同。但大数据系统虽然具有海量的数据规模,但是对数据的接入和处理速度上也有较高的要求,而且在每个阶段都要对数据进行处理。这些特点还是为设计解决方案时提供了新的挑战。在2001年,美国Gartner公司的DOUg1aney首先提出了3V”模型来描述大数据处理系统与传统数据处理系统的不同:Vo1ume待处理数据的规模在很大程度决定了系
6、统是否为大数据系统。大数据系统中的数据规模可能比传统处理系统中的数据集大几个数量级,这也为数据处理和存储带来了更多的挑战。由于数据处理和存储等工作超出了单台计算机所能达到的性能极限,所以大数据系统通常采用集群方式。集群方式更加考验资源的分配和协调,集群管理和任务分配算法变得越来越重要。Ve1ocity大数据与其他数据系统另一个显著的差异体现在数据的“流动”速度。在大数据系统中,数据经常从多种数据源流入系统,并且以一种近实时的方式进行处理。数据被持续不断的接入、修改、处理和分析以便能够跟得上新数据的接入速度。由于近实时处理可以尽早的提供有价值的信息,目前很多商业公司更加青睐于实时处理系统而不是传
7、统的批处理系统。Variety大数据系统的问题通常是其他系统所不具备的,因为它所处理的数据来源广泛。数据源可以是应用程序的日志信息,也可以是社交媒体的用户信息,甚至是物理设备传感器的采集数据。不论何种数据,大数据系统的目标都是在海量数据中寻找有用的数据。3 .大数据处理流程那么大数据系统实际上是如何处理数据的呢?虽然不同公司的架构设计不尽相同,但我们可以总结出一个基本的流程。下面介绍的流程虽然不是适用于所有情况,但它们确实被广泛使用。大数据处理的基本流程是: 接入数据到系统中 将数据持久化到存储系统 计算和分析数据 展示结果(可视化)4 .大数据处理框架的定义说完了大数据,我们来说说本文的重点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据处理 框架 深入 解读
