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

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