Spark操作hdfs
阿新 • • 發佈:2019-01-27
Windows平臺spark連線hadoop叢集,並讀取hdfs資料
開發工具:idea
資料hdfs://hdfs://192.168.10:9000/word/
在idea執行地方,選擇RUN-->Edit-->program arguments:新增hdfs目錄地址,即可執行。
此例子適合除錯使用,實際生產環境中最終將程式打包,部署到伺服器中通過spark命令進行執行。
package Schema /** * 單詞個數統計 spark */ //import scala.actors.Actor import org.apache.spark.SparkConf import org.apache.spark.SparkContext importorg.apache.spark.rdd.RDD //hdfs://192.168.8.10:9000/word/ object SparkWordCount{ def main(args: Array[String]): Unit = { println("Hello World!") //配置資訊類 //[*]有多少空閒cpu就開多少執行緒 val sparkConf = new SparkConf().setAppName("SprakWC").setMaster("local[*]") //上下文物件 val sparkContext = newSparkContext(sparkConf) //file表示本地執行,不在整合環境中 val lines = sparkContext.textFile(args(0)) println(lines) val words:RDD[String] = lines.flatMap(_.split(" ")) val parired :RDD[(String ,Int)] = words.map((_,1)) val reduced:RDD[(String ,Int)] =parired.reduceByKey(_+_) valres:RDD[(String ,Int)] =reduced.sortBy(_._2,false)//排序,取第二個元素排序 // res.saveAsTextFile(args(1)) //儲存結果 println("結果:",res.collect().toBuffer) sparkContext.stop() } }