0
我有數據集,如 10,「Name」,2016,「Country」 11,「Name1」,2016,「country1」 10,「Name」 「國家」 10,「姓名」,2016年,「國家」 12,「名稱2」,2017年,「COUNTRY2」Spark在RDD中查找字段的重複記錄
我的問題陳述我必須找到總數和重複按年計算。我的結果應該是(year,totalrecords,duplicates) 2016,4,3 2017,1,0。
我試圖通過
val records = rdd.map {
x =>
val array = x.split(",")
(array(2),x)
}.groupByKey()
val duplicates = records.map {
x => val totalcount = x._2.size
val duplicates = // find duplicates in iterator
(x._1,totalcount,duplicates)
}
它運行良好高達10GB的數據來解決這個問題。如果我在更多數據上運行它,則需要很長時間。我發現groupByKey不是最好的方法。
請建議解決此問題的最佳方法。