Spark:RDD.map/mapToPair如何与Java配合使用

地毯

我有一些对cw(整数i,字符串词)与i在文本文件中出现词的次数对

我只想为每对具有1个固定数字的新对c1(整数i,1)。

看起来确实很琐碎,但我还不了解map / mapToPair函数的实际工作方式。

JavaPairRDD<Integer, Integer> c1 = cw.map(??? -> new Tuple2<Integer, Integer>(??, 1));

我正在使用Java-8。

阿巴格尔

如果我对您的理解正确,那么您在JavaPairRDD之下。

JavaPairRDD<Integer, String> cw = ...;

现在,您要在JavaPairRDD下面创建第二个值为1的值。

JavaPairRDD<Integer, Integer> c1;

为了做到这一点,首先您必须从cwJavaPairRDD中提取JavaRDD,为此,您必须调用map如下函数。我们将从配对中提取第一个值。

JavaRDD<Integer> cw1 = cw.map(tuple -> tuple._1());

现在,您将使用mapToPair以下函数从JavaRDD创建新的JavaPairRDD

JavaPairRDD<Integer, Integer> c1 = cw1.mapToPair(i -> new Tuple2<Integer, Integer>(i, 1));

在单行中,您可以像这样写

JavaPairRDD<Integer, Integer> c1 = cw.map(tuple -> tuple._1()).mapToPair(i -> new Tuple2<Integer, Integer>(i, 1));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章