啟動hdfs集群,打開hadoop100:9870,在wcinput目錄下上傳一個包含很多個單詞的文本文件。
啟動之后在spark-shell中寫代碼。
// 讀取文件,得到RDD
????val rdd1 = sc.textFile("hdfs://hadoop100:8020/wcinput/words.txt")
????// 將單詞進行切割,得到一個存儲全部單詞的RDD
????val rdd2= fileRDD.flatMap(line => line.split(" "))
????// 將單詞轉換為元組對象,key是單詞,value是數字1
????val rdd3= wordsRDD.map(word => (word, 1))
????// 將元組的value按照key來分組,對所有的value執行聚合操作(相加)
????val rdd4= wordsWithOneRDD.reduceByKey((a, b) => a + b)
????// 收集RDD的數據并打印輸出結果
????rdd4.collect().foreach(println)