Spark中mapToPair和flatMapToPair的区别

洼地云 tuoyidashi.png

本文介绍了Spark中mapToPair和flatMapToPair的区别。

函数原型

1.JavaPairRDD<K2,V2> mapToPair(PairFunction<T,K2,V2> f)

此函数会对一个RDD中的每个元素调用f函数,其中原来RDD中的每一个元素都是T类型的,调用f函数后会进行一定的操作把每个元素都转换成一个<K2,V2>类型的对象

2.JavaPairRDD<K2,V2> flatMapToPair(PairFlatMapFunction<T,K2,V2> f)

此函数对对一个RDD中的每个元素(每个元素都是T类型的)调用f函数,通过f函数可以将每个元素转换为<K2,V2>类型的元素,然后比mapToPair方法多了一个flat操作,将所有的<K2,V2>类型的元素合并成为一个Iterable<Tuple2<K2, V2>>类型的对象。

具体函数原型参见[这里]。

使用说明

在使用时mapToPair会将一个长度为N的、每个元素都是T类型的对象,转换成另一个长度为N的、每个元素都是<K2,V2>类型的对象;而flatMapToPair会在map的基础上进行一个flatten操作,即将所有的元素合并到一个Iterable<<K2,V2>>类型的集合中。

赞(0)
未经允许禁止转载:优米格 » Spark中mapToPair和flatMapToPair的区别

评论 抢沙发

合作&反馈&投稿

商务合作、问题反馈、投稿,欢迎联系

广告合作侵权联系

登录

找回密码

注册