如何在执行程序上处理RDD

时间:2017-08-16 06:31:20

标签: apache-spark

我是新来的火花。我试图通过将RDD的每个元素发送给执行程序进行进一步处理来处理和RDD。

我在驱动程序代码中创建一个RDD,如下所示:

#this is based on a product with 1 image
products = ShopifyAPI::Product.find(id)
products.images << ShopifyAPI::Image.new(:src=> "http://website.com/image.jpg")
products.save
products.images[0].position = 2
products.images[1].position = 1
products.save

我不知道如何处理这个,以便我可以在执行器上同时处理conf1和conf12。尝试过flatmap和map但它没有用。

最好的方法是什么?在此先感谢

1 个答案:

答案 0 :(得分:1)

您的馆藏中有两个元素。最有可能你最终得到两个分区。 您可以验证是否正在调用

result.partitions();

你的意思是map或flatMap不起作用? 可能你需要为你的转换添加动作。 在您要求采取行动之前,Spark不会评估您的转换。

例如

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