Spark数据集:数据集<tuple2> Java的Reduce,Agg,Group或GroupByKey

时间:2017-08-20 18:35:20

标签: java apache-spark mapreduce dataset apache-spark-sql

我的数据集<Tuple2<String, Double>>如下:

<A,1>
<B,2>
<C,2>
<A,2>
<B,3>
<B,4>

需要通过String减少它以使用Spark Java API对值进行求和,以便最终结果如下所示:

<A,3>
<B,9>
<C,2>

我应该使用Reduce,Agg,Group还是GroupByKey?怎么样?

1 个答案:

答案 0 :(得分:1)

考虑您有数据集

/var/www

然后,您可以拨打Dataset<Tuple2<String, Double>> ds = ..; 功能和groupBy,如下所示

sum

或者您可以将其转换为ds.groupBy(col("_1")).sum("_2").show(); 并调用Dataset<Row>功能

groupBy