标签:spark rdd
以下为Spark RDD解密课程学习心得:
在介绍Spark RDD之前,先简单的说下Hadoop MapReduce,它是基于数据流的方式进行计算,从物理存储上加载数据,然后操作数据,
最后写入到物理存储设备上,这样的模式会产生大量的中间结果。
MapReduce不适合场景:1.不适合大量迭代计算场景,2.交互式查询(重点是:基于数据流的方式不能复用中间的计算结果)
而Spark RDD是基于工作集的方式,RDD名称叫:弹性式分布式数据集。
RDD的弹性式主要分为以下几点:
1.自动进行内存和磁盘数据的存储切换;
2.基于Lineage的高效容错;
3.Task如果失败会自动进行特定次数的重试;
4.Stage如果失败会自动进行特定次数的重试,而且只会计算失败的分片;
5.Checkpoint和persist的容错
6.数据调度弹性,和DAG、JobScheduler等无关
7.数据分片的高度弹性,可以手动设定分片的数量,设定分片函数:repartition默认进行 shuffle机制,可以选择coalesce函数进行分片设置
RDD是数据分片的集合,分布在集群上,每个分片的计算逻辑是一样的。
RDD常规容错方式:checkpoint和记录数据更新方式
RDD通过记录更新数据方式为何高效?
1.RDD集合是不可变的,计算是Lazy模式
2.RDD的更新是粗粒度操作,写操作可以是粗粒度也可以是细粒度模式
RDD的缺陷:1.不支持细粒度的更新操作;
2.不支持增量迭代计算;
备注:
资料来源于:DT_大数据梦工厂(IMF传奇行动绝密课程)-IMF
更多私密内容,请关注微信公众号:DT_Spark
如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上20:00开设的Spark永久免费公开课,地址YY房间号:68917580
Life is short,you need to Spark.
本文出自 “DT_Spark大数据梦工厂” 博客,请务必保留此出处http://18610086859.blog.51cto.com/11484530/1771134
标签:spark rdd
原文地址:http://18610086859.blog.51cto.com/11484530/1771134