1. 程式人生 > 其它 >寒假學習進度2

寒假學習進度2

今天接著昨天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上提交應用: