文章目錄
- 1. 使用Spark Sell撰寫代碼
- 1.1啟動Spark Shell
- 1.2 讀取檔案
- 1.3 撰寫詞頻統計程式
- 2. 撰寫Spark獨立應用程式
- 2.1 用Scala語言撰寫Spark獨立應用程式
- 2.2 用Java語言撰寫Spark獨立應用程式
- 3. 編程題
- 3.1 第一題
- 3.2 第二題
1. 使用Spark Sell撰寫代碼
1.1啟動Spark Shell
- 啟動
spark先要先啟動hdfs

- 打開spark-shell
./bin/spark-shell

1.2 讀取檔案
- 讀取本地檔案

- 讀取HDFS檔案


1.3 撰寫詞頻統計程式
- 讀取檔案
val textFile = sc.textFile("file:///usr/local/spark-2.4.8/README.md")
- 統計詞頻
val wordCount = textFile.flatMap(line => line.split(" ")).map(word=> (word, 1)).reduceByKey((a, b) => a + b)
- 輸出結果
wordCount.collect()

2. 撰寫Spark獨立應用程式
2.1 用Scala語言撰寫Spark獨立應用程式
-
安裝好sbt

-
檢查目錄結構

-
查看結果

如果遇到了java命令不存在的情況,但是自己系統變數里面又有的話,
像下面這種情況

排除完版本的問題之后!就按照他這樣所提示的,可以直接在系統安裝一個java環境,多個java環境不影響,
- 更新
sudo apt-get update
- 安裝
sudo apt-get install openjdk-8-jdk
2.2 用Java語言撰寫Spark獨立應用程式
/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp2/target/simple-project-1.0.jar
3. 編程題
3.1 第一題
對于兩個輸入檔案A和B, 撰寫Spark獨立應用程式(推薦使用Scala 語言),對兩個檔案進行合并,并剔除其中重復的內容,得到一個新的檔案C,(檔案A,B如下)
- 代碼

-
打包

-
輸出結果

3.2 第二題
撰寫獨立應用程式實作求平均值問題,每個輸入檔案表示班級學生某個學科的成績,每行內筒由兩個欄位組成,第一個是學生名字,第二個是學生的成績;撰寫Spark獨立應用程式(推薦使用Scale語言)求出所有學生的平均成績,并輸入到一個新檔案中,
- 新建三個檔案并寫入三個資料

- 在spark-shell撰寫完之后,轉移到scala檔案

- 輸出結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/375793.html
標籤:其他
