基於RDD的Spark應用程式開發案列講解(詞頻統計)
步驟一:在電腦D盤上建立一個檔案a.txt,內容如下:
hello java
hello spark
hell0 scala
hello rqm
spark hi
步驟二:在IDEA裡建立Scala工程,並做好詞頻統計,輸出
val rdd=sc.textFile("D:\\a.txt)
rdd.flatMap(x=>x.split(" ")).map(x=>(x,1)).reduceByKey(_+_)
步驟三:先提前寫好路徑,在resource建立資料夾info.properties,寫好hdfs的一個輸入路徑和輸出路徑
loadfile://hdfs:192.168.195.20:9000/kb09file/a.txt 要把該文將上傳到hdfs路徑上
outfile://hdfs:192.168.195.20:9000/kb09file/kv 後續結果輸出的路徑
步驟四:建立一個Properties類
val properties = new Properties()
properties.load(new FileInputStream(" 這裡寫入info.properties的路徑"))
步驟五:把路徑方法寫成方法,方便呼叫
val loadfile = properties.getProperty("loadfile")
val outfile = properties.getProperty("outfile")
步驟六:呼叫該方法(步驟一的基礎上修改路徑)
val rdd = sc.textFile(loadfile)
val rdd2 = rdd.flatMap(x=>x.split(" ")).map(x=>(x,1)).reduceByKey(_+_)
rdd2.saveAsTextFile(outfile)
步驟七:打jar包上傳到Linux上
要把該scala工程和info.properties上傳linux上;
注意,jar包上傳前,務必要把jar包裡的META-INF下的兩個DUMMY.SF和DUMMY.DSA檔案刪除,如果不刪除,在linux上操作會失敗,然後在上傳到Linux上
步驟八:linux上提交執行
spark-submit
--class zb.sql.WordCount //jar包在idea裡的路徑
--master local[2] //本地模式
./20201109-sparkRdd.jar //上傳到Linux上的jar包路徑和名稱(都要寫全)
步驟九:檢視結果
第一種方法:登入網頁端檢視是否出現結果,然後cat檢視結果
第二種方法:直接下載下來方法(工作中不建議,因為資料量大)
相關文章
- 大白話講解Spark中的RDDSpark
- 詞語詞頻統計
- 詞頻統計
- 用Python如何統計文字檔案中的詞頻?(Python練習)Python
- Spark學習(二)——RDD基礎Spark
- 【大資料】Spark RDD基礎大資料Spark
- 詞頻統計mapreduce
- 基於Golang的CLI 命令列程式開發Golang命令列
- 詞頻統計任務程式設計實踐程式設計
- Spark RDD APISparkAPI
- spark-RDDSpark
- Spark 的核心概念 RDDSpark
- python如何統計詞頻Python
- Spark入門(三)--Spark經典的單詞統計Spark
- 基於大模型LLM(包括ChatGPT)的應用開發與輔助程式設計技能大模型ChatGPT程式設計
- 第一個spark應用開發詳解(java版)SparkJava
- Spark - [03] RDD概述Spark
- 基於SkyEye執行Qt:著名應用程式開發框架QT框架
- python實現詞頻統計Python
- Spark RDD詳解 | RDD特性、lineage、快取、checkpoint、依賴關係Spark快取
- Spark運算元:統計RDD分割槽中的元素及數量Spark
- 鴻蒙系統應用開發之基於API6的藍芽開發鴻蒙API藍芽
- 基於javaEE的土地檔案管理系統的設計及開發Java
- IDEA開發Spark應用並提交本地Spark 2.1.0 standIdeaSpark
- python TK庫 統計word文件單詞詞頻程式 UI選擇文件PythonUI
- Spark RDD的預設分割槽數:(spark 2.1.0)Spark
- Spark RDD在Spark中的地位和作用如何?Spark
- Python統計四六級考試的詞頻Python
- PostgreSQL全文檢索-詞頻統計SQL
- 使用CEF(七)詳解macOS下基於CEF的多程式應用程式CMake專案搭建Mac
- spark RDD,reduceByKey vs groupByKeySpark
- IDEA開發Spark應用實戰(Scala)IdeaSpark
- 基於Yii2的應用開發引擎RageFrame
- 基於PostgreSQL進行Java應用開發SQLJava
- 基於Laravel 5.4 開發單頁應用Laravel
- 基於迅為4418開發板應用於智慧門禁系統案例
- 一文帶你過完Spark RDD的基礎概念Spark
- 基於知名微服務框架go-micro開發gRPC應用程式微服務框架GoRPC