0

我可以通过它们的主键加入 Pair RDD,但是是否可以基于值对象的某些属性加入?

例如,假设我有一个列表或两个对象的配对列表。

TV_station_information
    String station_name
    String call_sign


View_information
    String timeBlock
    String station_name
    int number_of_viewers

我想加入这两个列表,其中 TV_station_information station_name 与 View_information station_name 匹配。

我无法制作 View_information station_name 的键,因为每个站都有大量的时间块。此外,我还将通过 Spark 跨其他表加入 View_information 表。

任何帮助都是极好的。

4

1 回答 1

0

由于 Spark 需要将具有相同键的项目随机分配到同一分区,因此您需要将键作为 PairRDD 中元组的第一个元素。对于您的示例,可能最简单的做法是将您的 RDD 转换为具有相同的主键并保持整个案例类的值。如果你好奇的 CoGroupedRDD.scala 有一些实现细节。

于 2015-02-25T01:41:28.753 回答