【spark学习笔记】在idea搭建开发环境

1.序

我的工程是maven工程,通过maven不需要理会包的加载问题,很是方便。如果你还没有使用maven来管理工程的话那强烈建议你使用maven,尽管前期学习有点麻烦(主要是maven的默认下载镜像是国外)

2.搭建详情

下面是我建工程的截图

【spark学习笔记】在idea搭建开发环境_第1张图片
1.jpg
【spark学习笔记】在idea搭建开发环境_第2张图片
2.jpg
【spark学习笔记】在idea搭建开发环境_第3张图片
3.jpg
【spark学习笔记】在idea搭建开发环境_第4张图片
4.jpg
【spark学习笔记】在idea搭建开发环境_第5张图片
5.jpg
【spark学习笔记】在idea搭建开发环境_第6张图片
6.jpg
【spark学习笔记】在idea搭建开发环境_第7张图片
7.jpg
【spark学习笔记】在idea搭建开发环境_第8张图片
8.jpg
【spark学习笔记】在idea搭建开发环境_第9张图片
9.jpg
【spark学习笔记】在idea搭建开发环境_第10张图片
10.jpg
【spark学习笔记】在idea搭建开发环境_第11张图片
11.jpg

3.测试wordcount程序

pom.xml



    4.0.0

    cn.pwsoft
    SparkStudy
    1.0-SNAPSHOT

    
        
            junit
            junit
            3.8.1
            test
        

        
        
            io.netty
            netty-all
            4.1.4.Final
        

        
            org.apache.spark
            spark-core_2.11
            2.0.2
        

        
            org.apache.spark
            spark-sql_2.11
            2.0.2
        

        
            org.apache.spark
            spark-hive_2.11
            2.0.2
        
        
        
            org.apache.spark
            spark-streaming_2.11
            2.0.2
        


        
            org.apache.spark
            spark-streaming-flume_2.11
            2.0.2
        

        
            org.apache.spark
            spark-streaming-kafka_2.11
            2.0.2
        

        
        
            org.apache.hadoop
            hadoop-common
            2.6.4
        
        
        
            org.apache.hadoop
            hadoop-hdfs
            2.6.4
        

    



wordcount程序源码



object MyWordCount {
  def main(args: Array[String]) {

    //获取SparkContext
    val spark = SparkSession
      .builder
      .appName("Spark Pi").master("local")
      .getOrCreate()

    var sc = spark.sparkContext

    //读取文件,返回这个文件的行数
    val count = sc.textFile("F:\\vmware\\share\\soft\\spark-1.6.0-bin-hadoop2.6\\README.md").count()
    println(count)

//    val lines = spark.sparkContext.textFile("F:\\vmware\\share\\soft\\spark-1.6.0-bin-hadoop2.6\\README.md")
//    val wordcount = lines.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_).collect()
//    wordcount.foreach(pair => println(pair._1 + "  :  " + pair._2))

    /**
      * flatMap产生 MapPartitionsRDD
      * map 产生 MapPartitionsRDD
      * reduceByKey 产生 ShuffledRDD
      * sortByKey 产生 ShuffledRDD
      */
    spark.sparkContext.textFile("F:\\vmware\\share\\soft\\spark-1.6.0-bin-hadoop2.6\\README.md").flatMap(line => line.split(" "))
      .map(word => (word, 1)).reduceByKey(_+_).map(pair => (pair._2, pair._1)).sortByKey(false).collect()
      .map(pair => (pair._2, pair._1)).foreach(pair => println(pair._1 + "  :  " + pair._2))

    //为了可以通过web控制台看到信息,加一个写循环不让程序结束
    while (true) {}
    
    
    spark.stop()

  }
}


【spark学习笔记】在idea搭建开发环境_第12张图片
成功运行

你可能感兴趣的:(【spark学习笔记】在idea搭建开发环境)