1. 程式人生 > >Spark操作hdfs

Spark操作hdfs

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() } }