主流大数据计算引擎对比分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MapReduce原理
MapReduce原理
MapReduce应用场景
MapRedcue适合做什么? 大规模数据集的离线批处理计算 任务分而治之,子任务相对独立
MapRedcue不适合做什么? 实时的交互式计算,要求快速响应,低延迟,比如SQL查询 流式计算、实时分析,比如广告点击计算等 任务之间相互依赖(迭代计算)
主流大数据引擎对比分析
提纲
分布式批处理计算引擎介绍 分布式流处理计算引擎介绍
MapReduce应用场景
MapReduce基于Google发布的分布式计算框架MapReduce论文设计开发,用于大规模 数据集(大于1TB)的并行运算,特点如下:
- 易于编程:程序员仅需描述做什么,具体怎么做就交由系统的执行框架处理。 - 良好的扩展性:可以添加机器扩展集群能力。 - 高容错性:通过计算迁移或数据迁移等策略提高集群的可用性与容错性。
Spark核心概念 – 宽依赖和窄依赖
RDD父子依赖关系:窄(Narrow)依赖和宽(Wide)依赖。窄依赖指父RDD的每一个分 区最多被一个子RDD的分区所用。宽依赖指子RDD的分区依赖于父RDD的所有分区。
Spark SQL- Spark 生态圈的查询引擎
提纲
分布式批处理计算引擎介绍 分布式流处理计算引擎介绍
Spark 应用场景
大多数现有集群计算框架如Hadoop等基于从稳定存储(文件系统)到稳定存储的非循环数据 流---应对数据集重用型应用时低效,与传统的MR任务的频繁读写磁盘数据相比,基于内存 计算的Spark则更适合应用与迭代计算,交互式分析等场景
Spark核心概念 – RDD
定义:只读的,可分区的分布式数据集; 容错:根据依赖关系重计算恢复丢失数据 RDD操作:Transformation算子和Action算子。
相对于Storm,Spark Streaming支持更的大吞吐量; 基于Spark内核的迭代计算,Spark Streaming是准实时处理; 良好的容错性和故障恢复能力;
Spark Streaming原理
流入的记录以短时批处理的方式进行计算,每一个批次转化成一个RDD
STORM流处理应用
STORM 应用场景
Storm 可以对大量的数据流进行可靠的实时处理,这一过程也称为“流式处理”;
Storm 支持多种类型的应用,包括:实时分析、在线机器学习、连续计算、分布式RPC(DRPC)、 ETL等;
快速的数据处理、可扩展性与容错性;来自百度文库
STROM原理
基于STROM的情感分析
SPARK Streaming 应用场景
谁在使用MapReduce?
HIVE - 基于MapReduce的OLAP引擎
Spark 应用场景
是什么 - Spark系统是分布式批处理系统和分析挖掘引擎。 - Spark是AMP LAB贡献到Apache社区的开源项目,是AMP大数据栈的基础组件。
做什么 - 数据处理(Data Processing):可以用来快速处理数据,兼具容错性和可扩展性。 - 迭代计算(Iterative Computation):支持迭代计算,有效应对多步的数据处理逻辑。