spark RDD内容总结(适用于复杂的结构)

本文总结了Spark RDD的几个关键概念,包括RDD的checkpointing与cache/persist的区别,checkpointing保留数据但不保留lineage,而cache/persist则同时存储lineage。讲解了广播变量在大数据join操作中的优化作用,以及如何使用 Accumulators 进行计数。此外,还探讨了合理设置分区大小、处理数据倾斜的方法,如repartition和加盐,并给出了查找文章重复单词的面试题及DataFrame读取CSV、JSON文件的示例。
摘要由CSDN通过智能技术生成

1.RDD Checkpointing和RDD cache/persist的区别?

相同点:都需要手动调用方法来保存结果,为了避免前面所做的计算工作丢失

,需要把RDD存到缓存或者checkpoint里。

 

存放目录的区别

是否自动清除?

Checkpointing:自己设置目录,目录下面的文件我们自己来决定是否删除。

cache/persist:只在程序运行时,

存在临时的目录(spark自动管理),程序退出后会自动清除这些文件。

(就像一个临时表)

 

数据内容

persist: 还存了lineage(RDD变化图)

checkpoint:不保留lineage,只存数据。

 

2.广播

spark为什么要广播?

比如说现在有一个RDD,它的两个partition,在N1和N2节点上。

然后我现在要做一个join操作,那我就把这个RDD1的数据广播出去,

广播到所有要和RDD1进行join的节点,这样每台机器上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值