作者:翁松秀
Spark——标准Java函数接口
在Java中,函数需要作为实现了Spark的org.apache.spark.api.java.function包中的任一函数接口的对象来传递。
Function<T,R>
实现方法:R Call(T)
用途:接收一个输入值并返回一个输出值,用于类似map()和filter()等操作中。
Function2<T1,T2,R>
实现方法:R Call(T1,T2)
用途:接收两个输入值并返回一个输出值,用于类似aggregate()和fold()等操作中。
FlatMapFunction<T,R>
实现方法:Iterable Call(T)
用途:接收一个输入值并返回任意个输出值,用于类似flatMap()等操作中。
DoubleFunction
等价函数:Function<T,Double>
用途:用于mapToDouble,以生成DoubleRDD。
DoubleFlatMapFunction
等价函数:Function<T,Iterable>
用途:用于flatMapToDouble,以生成DoubleRDD。
PairFlatMapFunction<T,K,V>
等价函数:Function<T,Iterable<Tuple2<K,V>>>
用途:用于flatMapToPair,以生成PairRDD<K,V>。
PairFunction<T,K,V>
等价函数:Function<T,Tuple2<K,V>>
用途:用于mapToPair,以生成PairRDD<K,V>。