今天接着昨天spark學習
使用spark自己自帶的函數完成對文本中的單詞統計,昨天代碼的進階版
代碼:package com.chenghaixiang.core.wc
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object spark02_wordcount {
def main(args: Array[String]): Unit = {
// 建立 Spark 運作配置對象
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("WordCount")
// 建立 Spark 上下文環境對象(連接配接對象)
val sc : SparkContext = new SparkContext(sparkConf)
// 讀取檔案資料
val fileRDD: RDD[String] = sc.textFile("D:\\qq text\\1791028291\\FileRecv\\《飄》英文版.txt")
// 将檔案中的資料進行分詞
val wordRDD: RDD[String] = fileRDD.flatMap( _.split(" ") )
// 轉換資料結構 word => (word, 1)
val word2OneRDD: RDD[(String, Int)] = wordRDD.map((_,1))
// 将轉換結構後的資料按照相同的單詞進行分組聚合
val word2CountRDD: RDD[(String, Int)] = word2OneRDD.reduceByKey(_+_)
// 将資料聚合結果采集到記憶體中
val word2Count: Array[(String, Int)] = word2CountRDD.collect()
// 列印結果
word2Count.foreach(println)
//關閉 Spark 連接配接
sc.stop()
}

spark本地模式測試:
首先安裝spark到linux上
上傳
到linux上
解壓
啟動spark
輸入網址看是否能登入
在spark本地上看是否能運作
spark上送出應用: