package mydemo import org.apache.spark.{SparkConf, SparkContext} object MyWordContextDemo { def main(args: Array[String]): Unit = { // 建立一個 Config val conf = new SparkConf().setAppName("MyWordContext") // 建立 SparkContext 對象 val sc = new SparkContext(conf) // 使用sc 對象執行相應的算子 sc.textFile(args(0)) // 從第一個參數獲取文件路徑並打開 .flatMap(_.split(" ")) // 先 map 再壓平 .map((_, 1)) // 將單詞和 1 構成元組 .reduceByKey(_ + _) // 根據Key 進行 Reduce,並將 value 累加 .saveAsTextFile(args(1)) // 將結果輸出到文件 // 中止 SparkContext 對象 sc.stop() } }
==> 運行程序:apache
---> 首先將程序打包成 jar 包ide
---> 執行如下命令spa
spark-submit --master spark://bigdata0:7077 --class mydemo.MyWordContextDemo scalawordcontext.jar hdfs://192.168.10.210:9000:/output/scala/wordcontext.txt
---> 命令解釋:scala
---- spark-submit spark 命令
對象
---- --master spark://bigdata0:7077it
---- --class 指定類名spark
---- scalawordcontext.jar 將本身與的程序打成的jar 包ast
---- hdfs://192.168.10.210:9000/out/scala/wordcontext.txt 指定處理好的數據輸出的文件class