将信息附加到Apache Spark

时间:2016-02-09 16:32:56

标签: architecture apache-spark rdd

我需要处理大量的项目。每个项目都以相同的方式处理,并且与其他项目(maps上的rdd)无关。

根据程序中的路径,为map操作中的项目生成不同类型的信息。然后,后续操作可以利用已经存在的信息以最有效的方式执行。

在这里,我必须做出如何保持生成的信息与项目相关的设计选择。

我目前实现这一目标的方法是返回包含传递给map的原始信息的元组和生成的信息。我不断添加这样的信息,以便最终我可以在一个rdd中获得所有信息。

这有效,但我发现将信息放在单独的rdds中会更好。据我所知,无法将map中生成的信息作为单独的rdd与传递到map的相应项目(不使用ID)相关联。因此,无法将两个rdds或两个rdds上的操作组合在一起来尊重关联。

spark中是否有一种机制允许您将分布式项目生成的信息存储在单独的rdd中,但保留与分布式项目的关联?

1 个答案:

答案 0 :(得分:0)

RDD.zip()方法提供了所需的功能,但似乎不鼓励使用它,因为它的假设很容易violate。订购必须为preserved

解决此问题的另一种方法是使用建议here的密钥(ID)和join