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 import org.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 = new SparkContext(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(_+_) val res:RDD[(String ,Int)] =reduced.sortBy(_._2,false)//排序,取第二個元素排序 // res.saveAsTextFile(args(1)) //保存結果 println("結果:",res.collect().toBuffer) sparkContext.stop() } }