我是Scala和Spark的新手。我試圖刪除文本文件的重複行。 每行包含三列(矢量值),如:-4.5,-4.2,2.7Scala地圖過濾方法
這是我的計劃:
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import scala.collection.mutable.Map
object WordCount {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("WordCount").setMaster("local[*]")
val sc = new SparkContext(conf)
val input = sc.textFile("/opt/spark/WC/WC_input.txt")
val keys = input.flatMap(line => line.split("/n"))
val singleKeys = keys.distinct
singleKeys.foreach(println)
}
}
它的工作原理,但我想知道是否有辦法採用過濾功能。我必須在我的程序中使用它,但我不知道如何在所有行中進行迭代並刪除重複項(例如使用循環)。
如果有人有一個想法,會很棒!
謝謝!
非常感謝!但我想保留所有重複元素的一個實例。可能嗎 ? – Sol
是的,如果刪除「過濾器」條款。結果將與「distinct」相同。 – pasha701
你是最棒的!謝謝 (: – Sol