0

主キーを介してペア RDD に参加することはできますが、値オブジェクトの特定の属性に基づいて参加することは可能ですか?

たとえば、リスト、または 2 つのオブジェクトのペア リストがあるとします。

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 と一致するこれら 2 つのリストに参加したいと思います。

View_information station_name のキーを作成できません。各ステーションには大量のタイムブロックがあるためです。また、Spark を介して、View_information テーブルを他のテーブルと結合しています。

どんな助けでも素晴らしいでしょう。

4

1 に答える 1

0

Spark は同じキーを持つアイテムを同じパーティションにシャッフルする必要があるため、PairRDD のタプルの最初の要素としてキーを使用できるようにする必要があります。あなたの例では、おそらく最も簡単なことは、RDD を変換して同じ主キーを持ち、ケース クラス全体を値に保つことです。好奇心旺盛な CoGroupedRDD.scala に実装の詳細がいくつかある場合。

于 2015-02-25T01:41:28.753 に答える