基於RDD的Spark應用程式開發案列講解(詞頻統計)

Mr.梧桐發表於2020-11-12

步驟一:在電腦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檢視結果
第二種方法:直接下載下來方法(工作中不建議,因為資料量大)

相關文章