4spark入门优秀课件.pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Spark入门介绍信春雷

什么是SparkSpark是UC?Berkeley?AMP?lab所开源的类Hadoop?MapReduce的通用的并行计算框架,Spark基于map?reduce算法实现的分布式计算,拥有Hadoop?MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map?reduce的算法。

Spark和Hadoop区别数据存储内存Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。Spark比Hadoop更通用①Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作;②各个处理节点之间的通信模型不再像Hadoop那样就是唯一的DataShuffle一种模式。用户可以命名,物化,控制中间结果的存储、分区等。可以说编程模型比Hadoop更灵活;③不过由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用;不适合增量修改;容错性在分布式数据集计算时通过checkpoint来实现容错,而checkpoint有两种方式,一个是checkpointdata,一个是loggingtheupdates。用户可以控制采用哪种方式来实现容错。可用性Spark通过提供丰富的Scala,Java,PythonAPI及交互式Shell来提高可用性。Spark可以直接对HDFS进行数据的读写,同样支持SparkonYARN。Spark可以与MapReduce运行于同集群中,共享存储资源与计算,数据仓库Shark实现上借用Hive,几乎与Hive完全兼容。

Spark适用场景Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合。总的来说Spark的适用面比较广泛且比较通用。

Spark生态圈(1)

Spark生态圈(2)SparkCore?–用于通用分布式数据处理的引擎。它不不依赖于任何其他组件,可以运行在任何商用服务器集群上;SparkSql?–运行在Spark上的SQL查询语句,支持一系列SQL函数和HiveQL。但是还不是很成熟,所以不要在生产系统中使用;而HiveQL集成了需要的hive元数据和Hive相关的jar包;SparkStreaming?–基于spark的微批处理引擎,支持各种各样数据源的导入。唯一依赖的是SparkCore引擎;MLib?–构建在spark之上的机器学习库,支持一系列数据挖掘算法;GraphX-是一个分布式图处理框架;

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操作是在线程复用的;

Spark、Hadoop执行说明

Spark会代替Hadoop吗日常工作常用到的需求场景批处理、实时计算、机器学习Hadoop适合于离线的批量数据处理适用于对实时性要求极低的场景Storm适合于实时流数据处理,实时性方面做得极好Spark是内存分布式计算框架,试图吞并Hadoop的Map-Reduce批处理框架和Storm的流处理框架,但是Spark已经做得很不错了,批处理方面性能优于Map-Reduce,但是流处理目前还是弱于Storm,产品仍在改进之中参考:

Spark运行方式单机(开发、测试)部署

文档评论(0)

180****9182 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档