首先,看一下map和flatMap在结果上的差异
原始数据都是一个1-5的数组,然后用to方法对里面的每个元素再形成一个数组
map算子得到的结果是一个大的数组,里面包含了5个小数组,分别是原数组中每个元素对应形成的数组
flatMap算子只得到了一个数组,里面装的是原数组中每个元素形成数组后的新的元素
总结:map是对RDD中元素逐一进行函数操作映射为另外一个RDD,而flatMap操作是将函数应用于RDD之中的每一个元素,将返回的迭代器的所有内容构成新的RDD。
flatMap与map区别在于map为“映射”,而flatMap“先映射,后扁平化”,map对每一次(func)都产生一个元素,返回一个对象,而flatMap多一步就是将所有对象合并为一个对象。
spark算子map和flatMap的区别
最新推荐文章于 2024-07-10 17:14:11 发布