91.1 Spark简介 Spark如今已吸引了国内外各大公司的注意,如腾讯、淘宝、百度、亚马 逊等公司均不同程度地使用了Spak来构建大数据分析应用,并应用到实 际的生产环境中 op 2013年7月 2014年1月 2014年7月 2015年1月2015年7月 2016年1月 图16-1谷歌趋势:Spak与 Hadoop对比
9.1.1 Spark简介 图16-1 谷歌趋势:Spark与Hadoop对比 Spark如今已吸引了国内外各大公司的注意,如腾讯、淘宝、百度、亚马 逊等公司均不同程度地使用了Spark来构建大数据分析应用,并应用到实 际的生产环境中
9.1.2Scaa简介 Scala是一门现代的多范式编程语言,运行于Java平台(JV Java虚拟机),并兼容现有的Java程序 Scala的特性 Scala具备强大的并发性,支持函数式编程,可以更好地支持分布 式系统 . Scala语法简洁,能提供优雅的APIⅠ Scala兼容Java,运行速度快,且能融合到 Hadoop生态圈中 scaa是 Sparkl的主要编程语言,但 Spark还支持Java、 Python、R 作为编程语言 Scala的优势是提供了REPL(Read-Eval- Print Loop,交互式解释 器),提高程序开发效率
9.1.2 Scala简介 Scala是一门现代的多范式编程语言,运行于Java平台(JVM, Java 虚拟机),并兼容现有的Java程序 Scala的特性: •Scala具备强大的并发性,支持函数式编程,可以更好地支持分布 式系统 •Scala语法简洁,能提供优雅的API Scala兼容Java,运行速度快,且能融合到Hadoop生态圈中 Scala是Spark的主要编程语言,但Spark还支持Java、Python、R 作为编程语言 Scala的优势是提供了REPL(Read-Eval-Print Loop,交互式解释 器),提高程序开发效率
9.1.3Spak与 Hadoop的对比 Hadoop存在如下一些缺点 表达能力有限 磁盘IO开销大 ·延迟高 任务之间的衔接涉及IO开销 在前一个任务执行完成之前,其他任务就无法 开始,难以胜任复杂、多阶段的计算任务
9.1.3 Spark与Hadoop的对比 Hadoop存在如下一些缺点: •表达能力有限 •磁盘IO开销大 •延迟高 •任务之间的衔接涉及IO开销 •在前一个任务执行完成之前,其他任务就无法 开始,难以胜任复杂、多阶段的计算任务
9.1.3Spak与 Hadoop的对比 Spark在借鉴 Hadoop MapReduce优点的同时,很好地解决了 MapReduce所面临的问题 相比于 Hadoop Mapreduce, Spark主要具有如下优点: Spark的计算模式也属于 MapReduce,但不局限于Map和 Reduce操作 ,还提供了多种数据集操作类型,编程模型比 Hadoop Mapreduce更 灵活 Spak提供了内存计算,可将中间结果放到内存中,对于迭代运算 效率更高 Spark基于DAG的任务调度执行机制,要优于 Hadoop MapReduce的 迭代执行机制
9.1.3 Spark与Hadoop的对比 Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了 MapReduce所面临的问题 相比于Hadoop MapReduce,Spark主要具有如下优点: •Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作 ,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更 灵活 •Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算 效率更高 Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的 迭代执行机制
9.1.3Spak与 Hadoop的对比 HDE HDES HDES HDIS 选代1 (a) Hadoop MapReduce执行流程 读取 内存中 内存中 迭代1 迭代2 存储在 内存中 查询2 图16-2 Hadoop与 Spark的执行流程对比 (b) Spark执行流程
9.1.3 Spark与Hadoop的对比 图16-2 Hadoop与Spark的执行流程对比