1 / 16
文档名称:

4spark入门讲义.ppt

格式:ppt   大小:1,934KB   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

4spark入门讲义.ppt

上传人:读书之乐 2021/1/25 文件大小:1.89 MB

下载得到文件列表

4spark入门讲义.ppt

相关文档

文档介绍

文档介绍:什么是Spark
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学****等需要迭代的map reduce的算法。
*
4spark入门
*
Spark和Hadoop区别
数据存储内存
Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。
Spark比Hadoop更通用
① Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作;
② 各个处理节点之间的通信模型不再像Hadoop那样就是唯一的Data Shuffle一种模式。用户可
以命名,物化,控制中间结果的存储、分区等。可以说编程模型比Hadoop更灵活;
③不过由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用;不适合增量修改;
容错性
在分布式数据集计算时通过checkpoint来实现容错,而checkpoint有两种方式,一个是checkpoint data,一个是logging the updates。用户可以控制采用哪种方式来实现容错。
可用性
Spark通过提供丰富的Scala, Java,Python API及交互式Shell来提高可用性。
Spark可以直接对HDFS进行数据的读写,同样支持Spark on YARN。Spark可以与MapReduce运行于同集群中,共享存储资源与计算,数据仓库Shark实现上借用Hive,几乎与Hive完全兼容。
*
4spark入门
*
Spark适用场景
Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小
由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合。
总的来说Spark的适用面比较广泛且比较通用。
*
4spark入门
*
Spark生态圈(1)
*
4spark入门
*
Spark生态圈(2)
Spark Core – 用于通用分布式数据处理的引擎。它不不依赖于任何其他组件,可以运行在任何商用服务器集群上;
Spark Sql – 运行在Spark上的SQL查询语句,支持一系列SQL函数和HiveQL。但是还不是很成熟,所以不要在生产系统中使用;而HiveQL集成了需要的hive元数据和Hive相关的jar包;
Spark Streaming – 基于spark的微批处理引擎,支持各种各样数据源的导入。唯一依赖的是Spark Core引擎;
MLib – 构建在spark之上的机器学****库,支持一系列数据挖掘算法;
GraphX-是一个分布式图处理框架;
*
4spark入门
*
Spark为什么比Hadoop快
消除了冗余的HDFS读写
Hadoop每次shuffle操作后,必须写到磁盘,而Spark在shuffle后不一定落盘,可以cache到内存中,以便迭代时使用。如果操作复杂,很多的shufle操作,那么Hadoop的读写IO时间会大大增加;
消除了冗余的MapReduce阶段
Hadoop的shuffle操作一定连着完整的MapReduce操作,冗余繁琐。而Spark基于RDD提供了丰富的算子操作,且reduce操作产生shuffle数据,可以缓存在内存中;Spark惰性计算的,只有执行action算子才进行计算;
JVM的优化
Hadoop每次MapReduce操作,启动一个Task便会启动一次JVM,基于进程的操作。而Spark每次MapReduce操作是基于线程的,只在启动Executor是启动一次JVM,内存的Task操作是在线程复用的;
*
4spark入门
*
Spark、Hadoop执行说明
*
4spark入门
*
Spark会代替Hadoop吗
日常工作常用到的需求场景
批处理、实时计算、机器学****br/>Hadoop适合于离线的批量数据处理适用于对实时性要求极低的场景
Storm 适合于实时流数据处