- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.4.4 基于内存的分布式计算框架Spark RDD提供了一组丰富的操作以支持常见的数据运算,分为“动作”(Action)和“转换”(Transformation)两种类型 RDD提供的转换接口都非常简单,都是类似map、filter、groupBy、join等粗粒度的数据转换操作,而不是针对某个数据项的细粒度修改(不适合网页爬虫) 表面上RDD的功能很受限、不够强大,实际上RDD已经被实践证明可以高效地表达许多框架的编程模型(比如MapReduce、SQL、Pregel) Spark提供了RDD的API,程序员可以通过调用API实现对RDD的各种操作 7.4.4 基于内存的分布式计算框架Spark RDD典型的执行过程如下: RDD读入外部数据源进行创建 RDD经过一系列的转换(Transformation)操作,每一次都会产生不同的RDD,供给下一个转换操作使用 最后一个RDD经过“动作”操作进行转换,并输出到外部数据源 7.4.4 基于内存的分布式计算框架Spark 7.Spark的部署方式 Spark支持五种不同类型的部署方式,包括: Local Standalone(类似于MapReduce1.0,slot为资源分配单位) Spark on Mesos(和Spark有血缘关系,更好支持Mesos) Spark on YARN Spark on Kubernetes 图7-16 Spark on YARN架构 7.4.4 基于内存的分布式计算框架Spark 8.Spark SQL (1)从Shark说起 图7-17 Hive中SQL查询的MapReduce作业转化过程 Hive: SQL-on-Hadoop 7.4.4 基于内存的分布式计算框架Spark Shark即Hive on Spark,为了实现与Hive兼容,Shark在HiveQL方面重用了Hive中HiveQL的解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MapReduce作业替换成了Spark作业,通过Hive的HiveQL解析,把HiveQL翻译成Spark上的RDD操作 图7-18 Shark直接继承了Hive的各个组件 7.4.4 基于内存的分布式计算框架Spark Shark的出现,使得SQL-on-Hadoop的性能比Hive有了10-100倍的提高 7.4.4 基于内存的分布式计算框架Spark Shark的设计导致了两个问题: 一是执行计划优化完全依赖于Hive,不方便添加新的优化策略 二是因为Spark是线程级并行,而MapReduce是进程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的打了补丁的Hive源码分支 7.4.4 基于内存的分布式计算框架Spark 2014年6月1日Shark项目和Spark SQL项目的主持人Reynold Xin宣布:停止对Shark的开发,团队将所有资源放在Spark SQL项目上,至此,Shark的发展画上了句号,但也因此发展出两个分支:Spark SQL和Hive on Spark Spark SQL作为Spark生态的一员继续发展,而不再受限于Hive,只是兼容Hive Hive on Spark是一个Hive的发展计划,该计划将Spark作为Hive的底层引擎之一,也就是说,Hive将不再受限于一个引擎,可以采用Map-Reduce、Tez、Spark等引擎 7.4.4 基于内存的分布式计算框架Spark Spark SQL在Hive兼容层面仅依赖HiveQL解析、Hive元数据,也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了。Spark SQL执行计划生成和优化都由Catalyst(函数式关系查询优化框架)负责 图7-19 Spark SQL架构 (2) Spark SQL架构 7.4.4 基于内存的分布式计算框架Spark 图7-20 Spark SQL支持的数据格式和编程语言 Spark SQL增加了DataFrame(即带有Schema信息的RDD),使用户可以在Spark SQL中执行SQL语句,数据既可以来自RDD,也可以是Hive、HDFS、Cassandra等外部数据源,还可以是JSON格式的数据 Spark SQL目前支持Scala、Java、Python三种语言,支持SQL-92规范 7.4.4 基于内存的分布式计算框架Spark (3)为什么推出Spark SQL 7.4.4 基于内存的分布式计算框架Spark 7.4.4 基于内存的分布式计算框架Spark Spark SQL填补了这个鸿沟: 首先,可以提供DataFrame API,可以
您可能关注的文档
- 2大数据导论-第2章-大数据与其他新兴技术的关系(2020年秋季学期).ppt
- 3大数据导论-第3章-大数据基础知识(2020年秋季学期)-.ppt
- 4大数据导论-第4章-大数据应用(2020年秋季学期).ppt
- 5G承载网技术及部署第2章 5G系统概述.pptx
- 5G承载网技术及部署第3章 5G承载网解决方案及技术概述.pptx
- 5G承载网技术及部署第8章 5G承载网SDN技术及部署.pptx
- 5G承载网技术及部署第10章 5G承载网可靠性技术及部署.pptx
- 5大数据导论-第5章-数据采集与预处理(2020年秋季学期).ppt
- 5艺术欣赏第五章.pptx
- 6大数据导论-第6章-数据存储与管理(2020年秋季学期).ppt
- 中国国家标准 GB 14287.5-2025电气火灾监控系统 第5部分:测量热解粒子式电气火灾监控探测器.pdf
- 《GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存》.pdf
- GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存.pdf
- 中国国家标准 GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存.pdf
- 中国国家标准 GB/T 19436.2-2025机械电气安全 电敏保护设备 第2部分:使用有源光电保护装置(AOPDs)设备的特殊要求.pdf
- 《GB/T 19436.2-2025机械电气安全 电敏保护设备 第2部分:使用有源光电保护装置(AOPDs)设备的特殊要求》.pdf
- 《GB 27898.4-2025固定消防给水设备 第4部分:消防气体顶压给水设备》.pdf
- GB 27898.4-2025固定消防给水设备 第4部分:消防气体顶压给水设备.pdf
- GB/T 31270.1-2025化学农药环境安全评价试验准则 第1部分:土壤代谢试验.pdf
- 中国国家标准 GB/T 31270.1-2025化学农药环境安全评价试验准则 第1部分:土壤代谢试验.pdf
原创力文档


文档评论(0)