二、編寫獨立應用程序實現數據去重
對於兩個輸入文件A和B,編寫spark獨立應用程序。對兩個文件進行合並,並剔除其中重復的內容。
輸入文件A的樣例如下:
20170101 x
20170102 y
20170103 x
20170104 y
20170105 z
20170106 z
輸入文件B的樣例如下:
20170101 y
20170102 y
20170103 x
20170104 z
20170105 y
根據輸入的文件A和B合並得到的輸出文件C的樣例如下:
20170101 x
20170101 y
20170102 y
20170103 x
20170104 y
20170104 z
20170105 y
20170105 z
20170106 z
import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf import org.apache.spark.HashPartitioner object app{ def main(args: Array[String]) { val conf = new SparkConf().setAppName("RemDup") val sc = new SparkContext(conf) val dataFile ="file:///home/hadoop/77/a.txt,file:///home/hadoop/77/b.txt" val data = sc.textFile(dataFile,2) val da = data.distinct() da.foreach(println) da.saveAsTextFile("/home/hadoop/c.txt") println("文件合並完成!") } }