Apache Spark:在PairFlatMapFunction中,如何将元组添加回Iterable >返回类型

问题描述 投票:1回答:2

我是新来的。我一直在研究涉及两个数据集的代码。因此,我开始使用PairFlatMapFunction,我正在处理映射器。

JavaPairRDD<Integer, String> trainingArray = trainingData.flatMapToPair(new PairFlatMapFunction<String, Integer, String>(){
        public Iterable<Tuple2<Integer, String>> call(String s) {
//code to form the tuples of type Tuple2<Integer, String>
// new Tuples2<Integer, String> 
}

如何将元组添加回可由reducer(reduceByKey)处理的可迭代类。

任何指针都会非常感激。

java hadoop apache-spark rdd bigdata
2个回答
1
投票

谢谢!!

我找到了这个问题的答案。

我们需要定义下面的ArrayList

List<Tuple2<Integer, String>> result = new ArrayList<Tuple2<Integer, String>>();

添加元组如下

result.add(new Tuple2<Integer, String>(keyValue, concat));

并返回结果。


0
投票

如果您的结果只包含一个元组,那么这可能是更好的选择。

return Collections.singletonList(new Tuple2<Integer, String>(keyValue, concat)).iterator();
© www.soinside.com 2019 - 2024. All rights reserved.