2017-08-16 131 views
0

我是新来的火花。我试图通过将RDD的每个元素发送给执行者进行进一步处理来处理和RDD。如何在执行器上处理RDD

,我在下面的驱动程序代码创建一个RDD:

ArrayList<String> test = new ArrayList<String>(); 
test.add("conf1"); 
test.add("conf12"); 
JavaRDD<String> result = sc.parallelize(test); 

我不知道如何处理,这样我可以在执行同时处理CONF1和conf12。已尝试平面地图和地图,但它没有奏效。

这样做的最佳方式是什么?提前致谢

回答

1

您的收藏中有两个元素。最有可能你最终有两个分区。 您可以验证调用

result.partitions(); 

你是什么意思地图或flatMap不工作? 可能您需要为转换添加操作。 在您要求采取行动之前,Spark不会评估您的转换。

例如

result.map(x -> x + " processed").collect(); 
+1

由于这是问题。我没有打电话给行动。 – ACE

相关问题