day14 RDD 揭秘

来源:互联网 发布:用python写购物车 编辑:程序博客网 时间:2024/06/05 11:32

本内容整理来源于DT大数据梦工厂:http://weibo.com/ilovepains


1、基于数据集的处理工作:从物理设备上加载数据,然后操作数据,然后在写入物理存储设备,
基于数据流的方式不能够复用曾经的结果或者查询中间计算
2、不适应上面场景:不适合大量迭代(每一步对数据执行相似的函数); 交互式查询需要将每次的数据查询都读写磁盘然后
3、RDD 是基于工作集,但是有工作流特点

3.1、弹性之一:自动的进行内存和磁盘数据存储的切换;
3.2、弹性之二:基于Lineage的高效容错(第n个节点出错,会从第n-1个节点恢复,血统容错);
3.3、弹性之三:Task如果失败会自动进行特定次数的重试(默认4次);
3.4、弹性之四:Stage如果失败会自动进行特定次数的重试(默认3次)(可以值运行计算失败的阶段)继续计算只计算失败的那部分;
3.5、弹性之五:checkpoint和persist(检查点,持久化)
3.6、弹性之六:数据调度弹性:DAG  TASK 和资源管理无关
3.7、弹性之七:repartition:数据分片的高度弹性 (需要人工干预)
将工作集(曾经运行的)缓存于内存中,第一个人执行后将数据结果存储于缓存中,后面的人只需要直接拿就可以。


4、如果一个stage1000个计算,他5中间不会产生999个结果,默认只产生一个结果
5、 shuffle 机制(1.2版本以后)

0 0
原创粉丝点击