大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf

大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf

ID:47996992

大小:1.02 MB

页数:38页

时间:2020-01-11

大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf_第1页
大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf_第2页
大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf_第3页
大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf_第4页
大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf_第5页
资源描述:

《大数据技术与应用 - 大数据处理和分析 - Spark - 第四课.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大数据技术与应用网络与交换技术国家重点实验室交换与智能控制研究中心程祥2016年9月提纲-大数据处理和分析1.批处理计算1.1MapReduce1.2Spark2.流计算2.1Storm3.图计算3.1Pregel4.分析和挖掘4.1Hive4.2Mahout2Spark•2.1Spark概述•2.2Spark生态系统•2.3弹性分布式数据集(RDD)•2.3Spark运行架构•2.4Spark编程实践2.1Spark概述•2.1.1Spark简介•2.1.2Scala简介•2.1.3Spark与H

2、adoop的比较2.1.1Spark简介•Spark最初由美国加州伯克利大学(UCBerkeley)的AMPLab于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序•2013年Spark加入Apache孵化器项目后发展迅猛,如今已成为Apache软件基金会最重要的分布式计算系统开源项目之一•Spark在2014年打破了Hadoop保持的基准排序纪录–Spark/206个节点/23分钟/100TB数据–Hadoop/2000个节点/72分钟/100TB数据

3、Spark用十分之一的计算资源,获得了比Hadoop快3倍的速度!2.1.1Spark简介Spark具有以下特点:①运行速度快:采用DAG执行引擎和内存计算②容易使用:支持包括Scala、Java、Python和R语言在内的多种语言进行编程③与HDFS等存储层兼容:可以独立运行,也可以运行在YARN等集群管理系统之上,特别地,它可以运行在任何的Hadoop数据源上,例如,HDFS和HBase④通用性:类似Hadoop,Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法等组

4、件2.1.1Spark简介Spark如今已吸引了国内外各大公司的注意,如腾讯、淘宝、百度、亚马逊等公司均不同程度地使用了Spark来构建大数据分析应用,并应用到实际的生产环境中图谷歌趋势:Spark与Hadoop对比2.1.2Scala简介•Scala是一门现代的多范式编程语言,它平滑地集成了面向对象式和函数式语言的特性•Scala运行于Java平台(JVM,Java虚拟机),所有Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行,因此,Scala和Java是可以无缝互操作的。•

5、Scala是Spark的主要编程语言,但Spark还支持Java、Python、R作为编程语言2.1.3Hadoop的局限性Hadoop存在的不足1)表达能力有限–计算都要转换成Map和Reduce操作,难以描述复杂的数据处理过程2)磁盘IO开销大–每次执行都需从磁盘读数据,计算过程中,需要将中间结果写入磁盘3)延迟高–一次计算分解成一些列按顺序执行的MR任务,任务间衔接涉及IO开销,产生较高延迟,且一个任务完成前,其他任务无法开始2.1.3Spark与Hadoop的比较Spark与Hadoop相比

6、–其计算模式也属于MR,但不局限与此,还提供多种RDD(ResilientDistributedDataset)操作,编程模型更加灵活–Spark提供内存计算,中间结果放在内存中,IO开销,延迟低,拥有更高地迭代运算效率–基于DAG任务调度执行机制,优于MR迭代执行机制–使用Hadoop需要编写不少相对底层的代码,而Spark提供高层次、简洁的API–Spark主要替代Hadoop中的MR,而不能完全替代Hadoop,它很好地融入了Hadoop生态圈,可借助于YARN实现资源调度管理,借助HDFS实

7、现分布式存储–Hadoop可使用廉价、异构的机器实现分布式存储和计算,而Spark对硬件(内存、CPU)要求稍高2.1.3Spark与Hadoop的比较图Hadoop与Spark的执行流程对比2.2Spark生态系统在实际应用中,大数据处理主要包括以下三个类型:①复杂的批量数据处理:通常时间跨度在数十分钟到数小时之间②基于历史数据的交互式查询:通常时间跨度在数十秒到数分钟之间③基于实时数据流的数据处理:通常时间跨度在数百毫秒到数秒之间当同时存在以上三种场景时,就需要同时部署三种不同的大数据处理平台,

8、这样做难免会带来一些问题:①不同场景之间输入输出数据不能做到无缝共享,通常需要进行数据格式的转换②不同的软件需要不同的开发和维护团队,带来了较高的使用成本③比较难以对同一个集群中的各个系统进行统一的资源协调和分配2.2Spark生态系统•Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成了一套完整的生态系统,BDAS(BerkeleyDataAnalyticsStack)•以Spark为核心的BDAS既能够提供内存计算框架,也可以支持SQL查询、实时流

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。