欢迎光临
一个有态度、有温度的分享型博客

Spark中mapToPair和flatMapToPair的区别

本文介绍了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>>类型的集合中。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址