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的节点,这样每台机器上