我有兩個 JavaRDD A 和 B。我只想保留 A 中而不是 B 中的 long。我應該怎么做?謝謝!
uj5u.com熱心網友回復:
我在scala中發布了一個解決方案。在Java中應該幾乎相似。
做一個leftOuterJoin這將給出第一個 rdd 中的所有記錄以及來自第二個 rdd 的匹配記錄。喜歡WrappedArray((168,(def,None)), (192,(abc,Some(abc))))。但是為了保持記錄只存在于第一個 rdd 中,我們在None.
val data = spark.sparkContext.parallelize(Seq((192, "abc"),(168, "def")))
val data2 = spark.sparkContext.parallelize(Seq((192, "abc")))
val result = data
.leftOuterJoin(data2)
.filter(record => record._2._2 == None)
println(result.collect.toSeq)
Output> WrappedArray((168,(def,None)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528794.html
