要掌握的大数据计算技术.docx
《要掌握的大数据计算技术.docx》由会员分享,可在线阅读,更多相关《要掌握的大数据计算技术.docx(8页珍藏版)》请在第壹文秘上搜索。
1、01离线批处理这里所说的批处理指的是大数据离线分布式批处理技术,专用于应对那些一次计算需要输入大量历史数据,并且对实时性要求不高的场景。目前常用的开源批处理组件有MapReduce和SPark,两者都是基于M叩RedUCe计算模型的。LMapReduce计算模型MapReduce是Google提出的分布式计算模型,分为Map阶段和Reduce阶段。在具体开发中,开发者仅实现map()和reduce。两个函数即可实现并行计算。MaP阶段负责数据切片,进行并行处理,RedUCe阶段负责对MaP阶段的计算结果进行汇总。这里举一个通俗的例子帮助你理解。假如现在有3个人想打一种不需要36的扑克牌游戏,需
2、要从一副扑克牌中去掉这些牌,过程描述如下:第一步,将这一副牌随机分成3份,分给3个人,然后每个人一张张查看手中的牌,遇到36的牌就挑出去;第二步,等所有人都完成上面的步骤后,再将每个人手上剩余的牌收集起来。在这个过程中,第一步操作属于MaP阶段,相当于对每张牌做一次判断(映射、函数运算),是否保留;第二步属于RedUCe阶段,将结果汇总。MaPRedUCe数据流图如图1所示C输入图IMaPRedUCe数据流图MapReduce处理的数据格式为键-值格式,一个MapReduce作业就是将输入数据按规则分割为一系列固定大小的分片,然后在每一个分片上执行MaP任务,MaP任务相互独立,并行执行,且会
3、在数据所在节点就近执行;当所有的MaP任务执行完成后,通过缓存机制将分散在多个节点的键值相同的数据记录拉取到同一节点,完成之后的RedUCe任务,最后将结果输出到指定文件系统,比如HDFS、HBaseo基于以上解释和描述,可以看出MaPRedUCe不适合实现需要迭代的计算,如路径搜索。2.SparkSpark是基于内存计算的大数据并行计算框架,最初由美国加州大学伯克利分校的AMP实验室于2009年开发,于2010年开源,是目前最主流的批处理框架,替代了MapReduceo整个SPark项目由四部分组成,包括SParkSQL、SparkStreamingsMLlib、Graphx,如图2所示。其
4、中SParkSQL用于OLAP分析,Streaming用于流式计算的(微批形式),MLlib是SPark的机器学习库,GraPhX是图形计算算法库。SPark可在HadooPYARN、MesosxKUbemeteS上运行,可以访问HDFS,AlluxioCassandraxHBaSe等数据源OSparkSQLSparkStreamingMLlib(machinelearning)GraphX(graph)ApachcSpark图2SPark组件SPark使用先进的DAG(DirectedAcyclicGraph,有向无环图)执行引擎,支持中间结果仅存储在内存中,大大减少了IO开销,带来了更高的
5、运算效率,并且利用多线程来执行具体的任务,执行速度比MaPRedUCe快一个量级。在SPark中,SPark应用程序(APPIiCatiOn)在集群上作为独立的进程集运行,由主程序(称为DriVer)的SParkConteXt中的对象协调,一个Application由一个任务控制节点(Driver)和若干个作业(Job)构成。Driver是Spark应用程序main函数运行的地方,负责初始化Spark的上下文环境、划分RDD,并生成DAG,控制着应用程序的整个生命周期。Job执行MaPRedUCe运算,一个JOb由多个阶段(Stage)构成,一个阶段包括多个任务(Task),TaSk是最小的工
6、作单元。在集群环境中,DriVer运行在集群的提交机上,TaSk运行在集群的WorkerNOde上的EXeCUtor中。EXeCUtOr是运行在SPark集群的WorkerNode上的一个进程,负责运行Task,EXeCUtor既提供计算环境也提供数据存储能力。在执行过程中,APPIiCatiOn是相互隔离的,不会共享数据。SPark集群架构示意图如图3所示。WorkerNode图3SPark集群架构具体来说,当在集群上执行一个应用时,SParkCOnteXt可以连接到集群资源管理器(如YARN),获取集群的WorkerNode的EXeCUtor,然后将应用程序代码上传到Executor中,再
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 掌握 数据 计算 技术
![提示](https://www.1wenmi.com/images/bang_tan.gif)