【Spark】Spark-shell案例——單詞計數統計



步驟

一、准備本地文件以作測試

在第一台機器執行

mkdir -p /export/servers/sparkdatas
cd /export/servers/sparkdatas/
vim wordcount.txt
hello me
hello you
hello her
二、通過 --master啟動本地模式
cd /export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/
bin/spark-shell --master local[2]
三、開發scala單詞統計代碼

有兩種寫法(tab可以補全或者提示)

sc.textFile("file:///export/servers/sparkdatas/wordcount.txt").flatMap(x => x.split(" ")).map(x => (x,1)).reduceByKey((x,y) => x + y).collect
sc.textFile("file:///export/servers/sparkdatas/wordcount.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).collect

代碼說明:
sc:Spark-Shell中已經默認將SparkContext類初始化為對象sc。用戶代碼如果需要用到,則直接應用sc即可。
textFile:讀取數據文件
flatMap:對文件中的每一行數據進行壓平切分,這里按照空格分隔。
map:對出現的每一個單詞記為1(word,1)
reduceByKey:對相同的單詞出現的次數進行累加
collect:觸發任務執行,收集結果數據。

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM