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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章