持久化
https://cloud.tencent.com/developer/article/1760389
https://blog.csdn.net/dudadudadd/article/details/114102341
https://yiqingqing.blog.csdn.net/article/details/121772325
https://blog.csdn.net/feizuiku0116/article/details/122839247
https://blog.csdn.net/CyAurora/article/details/119654676
https://www.cnblogs.com/Transkai/p/11347224.html
https://blog.csdn.net/CyAurora/article/details/119654676
https://blog.csdn.net/dudadudadd/article/details/114102341
1 缓存
懒执行
空间换时间
rdd3如果不消失,那么绿色链路就不用执行两次
持久化的目标就是将rdd3保存到内存或者磁盘
但是有丢失风险,比如硬盘损坏,内存被清理等,所以为了规避风险,会保留rdd的血缘(依赖)关系
如何保存:
1 persist
2 cache
https://blog.csdn.net/donger__chen/article/details/86366339
底层调用persist,persist的特殊情况,persist(MEMORY_ONLY)
2 checkpoint
特殊的持久化
仅支持硬盘
设计上认为安全没有风险,所以不需要保留血缘关系
如何保存:
3 对比
1.spark oom(out of memory)问题
2.spark资源参数调优
3.Use reduceByKey instead of groupByKey
4.Spark 数据倾斜
5.shuffle
6.spark优化