キーに基づいて2つのペアRDDs
の値を比較する方法はありますか。たとえば
:スカラーのキーに基づくRDDの2つのペアの値を比較する
RDD1: RDD[(Int, String)] = {(1, "ABC"), (2, "XYZ"), (3, "PQR")}
RDD2: RDD[(Int, String)] = {(5, "AAA"), (2, "XYZ"), (3, "LMN")}
私の仕事は、値が異なるの両方rdds
に存在するキーの数を取得することです。
参加するとは2
と3
のキーになります。 しかし、私は最終的な出力を3
としたいので、値は異なるです。
私は、以下のアプローチを試してみた:
var diff = rdd1.join(rdd2).map{case(k,(s1,s2))=> if (s1!=s2) (k,s1)}
だから私は、差分の数を取得することができます。しかし、それは2
と3
の両方のキーを与えます。私は一致する値をスキップするために条件が必要だと思う。
誰でも希望の結果をどのように達成できるかをお勧めしますか? (または任意の異なるアプローチを使用して)。