私は2つのケースクラスと1つのRDDを持っています。別のRDDのIDのメンバーシップに基づく別個のRDD
私は2つの新しいRDD [Thing1] Sを作成したいcase class Thing1(Id: String, a: String, b: String, c: java.util.Date, d: Double)
case class Thing2(Id: String, e: java.util.Date, f: Double)
val rdd1 = // Loads an rdd of type RDD[Thing1]
val rdd2 = // Loads an rdd of type RDD[Thing2]
、1要素はRDD2内のIDが存在していRDD1の要素を含み、RDD1の要素が含まれている別の要素がIDを持っていない場合RDD2
に存在するがここで(Scala Spark contains vs. does not contain、これを見て、他のスタックオーバーフローの記事が、どれが働いていない)私が試してみました何
val rdd2_ids = rdd2.map(r => r.Id)
val rdd1_present = rdd1.filter{case r => rdd2 contains r.Id}
val rdd1_absent = rdd1.filter{case r => !(rdd2 contains r.Id)}
しかし、これは私が多くを見てきましたエラーerror: value contains is not a member of org.apache.spark.rdd.RDD[String]
を取得します私がやろうとしていることと似たようなことをする方法を尋ねる質問はありますが、誰も私のために働いていません。私は多くのエラーvalue _____ is not a member of org.apache.spark.rdd.RDD[String]
を取得します。
なぜ私のためにこれらの答えがうまくいかず、私は何をしようとしていますか?
なぜRDDの代わりにデータフレームを使用できないのですか?データフレームは、2つのデータフレーム間の差異を検出する機能を除いて提供します。 –