算子间的区别
map和mapPartitions的区别:
map是处理RDD里的每个元素,mapPartitions适用于处理RDD的每个分区的
map和foreach的区别:
1.map是有返回值的,foreach没有返回值
2.map常用于将某个RDD做元素的处理,而foreach常用于作为结果的输出到其它的存储系统中
3.map是属于transformation,foreach属于action
foreach和foreachPartition:
foreach是针对于每个元素操作的,foreachPartition是针对于RDD的每个分区进行操作的;
从优化层面讲:foreachPartition用于存储大量结果数据的场景,可以一个分区对应一个数据库的连接
,这样就可以减少很多数据库的连接.
rdd.foreachPartiton(partition =>{
val conn = … //数据库连接
partition.foreach()
})
reduceByKey、groupByKey与combineByKey的区别
请跳至:https://blog.youkuaiyun.com/murphyZ/article/details/88102693