2016-10-09 2 views
2

私は、RDD1 [K、V1]とRDD2 [K、V2]の形式の2つのRDDを持っています。私はRDD1にはないRDD2の値を削除したいと考えていました。 (本質的にRDDの各キーの内部結合ですが、RDD1の値をコピーしたくありません)キーによる減算の機能的反対

私は、これとは逆の方法であるsubtractByKeyがあることを理解しています。 (別個のものを保持してください)

答えて

2

joinを適用して値をマッピングする方法がそうであるように、ここで値の種類を避けることはできません。あなたは使用することができます:ダミーを使用して値を置き換え

rdd2.join(rdd1.mapValues(_ => None)).mapValues(_._1) 

(通常は、値が大きめでない限り、ここで得ることが多くはありませんのでことをスキップすることができます):

_.mapValues(_ => None) 

が参加し、そしてプレースホルダを削除します。

_.mapValues(_._1) 
関連する問題