用IDEA写spark单词统计

1.创建一个项目

用IDEA写spark单词统计_第1张图片

2.选择Maven项目然后点击next

用IDEA写spark单词统计_第2张图片

3.填写mavenGAV,然后点击next

用IDEA写spark单词统计_第3张图片

4.填写项目名称然后点击finish

5.创建好maven项目后点击Enable Auto-Import

用IDEA写spark单词统计_第4张图片

创建maven后不能创建scala  按照下面的来

用IDEA写spark单词统计_第5张图片

注意自己的版本号

用IDEA写spark单词统计_第6张图片

注意!!!记得把以下几个选项勾上 不然打不了jar包

用IDEA写spark单词统计_第7张图片


用IDEA写spark单词统计_第8张图片

用IDEA写spark单词统计_第9张图片

这个不用选  因为自己选择的是默认的的c:\\user\..\.m2\settings.xml

 用IDEA写spark单词统计_第10张图片



6.配置Mavenpom.xml



    4.0.0

    cn.bw.spark
    WordCount2
    2.0


    
        1.7
        1.7
        UTF-8
        2.10.6
        2.10
    

    
        
            org.scala-lang
            scala-library
            ${scala.version}
        

        
            org.apache.spark
            spark-core_2.10
            1.6.1
        

        
            org.apache.spark
            spark-streaming_2.10
            1.6.1
        

        
            org.apache.hadoop
            hadoop-client
            2.6.4
        
        
            mysql
            mysql-connector-java
            5.1.38
        
    

    
        src/main/scala
        src/test/scala
        
            
                net.alchim31.maven
                scala-maven-plugin
                3.2.0
                
                    
                        
                            compile
                            testCompile
                        
                        
                            
                                -make:transitive
                                -dependencyfile
                                ${project.build.directory}/.scala_dependencies
                            
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.18.1
                
                    false
                    true
                    
                        **/*Test.*
                        **/*Suite.*
                    
                
            

            
                org.apache.maven.plugins
                maven-shade-plugin
                2.3
                
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    *:*
                                    
                                        META-INF/*.SF
                                        META-INF/*.DSA
                                        META-INF/*.RSA
                                    
                                
                            
                            
                                
                                    cn.bw.spark.WordCountSpark
                                
                            
                        
                    
                
            
        
    



7.src/main/javasrc/test/java分别修改成src/main/scalasrc/test/scala,pom.xml中的配置保持一致

用IDEA写spark单词统计_第11张图片

用IDEA写spark单词统计_第12张图片

8.新建一个scala class,类型为Object

用IDEA写spark单词统计_第13张图片

9.编写spark程序

package cn.bw.spark

import org.apache.spark.{SparkContext, SparkConf}

object WordCount {
  def main(args: Array[String]) {
    //创建SparkConf()并设置App名称
    val conf = new SparkConf().setAppName("WC")
    //创建SparkContext,该对象是提交spark App的入口
    val sc = new SparkContext(conf)
    //使用sc创建RDD并执行相应的transformation和action
    sc.textFile(args(0)).flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_, 1).sortBy(_._2, false).saveAsTextFile(args(1))
    //停止sc,结束该任务
    sc.stop()
  }
}

10.使用Maven打包首先修改pom.xml中的main class

用IDEA写spark单词统计_第14张图片

点击idea右侧的Maven Project选项

用IDEA写spark单词统计_第15张图片

点击Lifecycle,选择cleanpackage,然后点击Run Maven Build

用IDEA写spark单词统计_第16张图片

11.选择编译成功的jar并将该jar上传到Spark集群中的某个节点上

用IDEA写spark单词统计_第17张图片

12.首先启动hdfsSpark集群

13.使用spark-submit命令提交Spark应用注意参数的顺序

/usr/local/spark-1.5.2-bin-hadoop2.6/bin/spark-submit \   //注意是在submit下
--class cn.bw.spark.WordCount \                      //写的是你类的全路径
--master spark://node1.bw.cn:7077 \
--executor-memory 512m \                               //指定运行内存
--total-executor-cores 1 \                            //指定核数
/root/spark-mvn-1.0-SNAPSHOT.jar \                   //jar的路径
hdfs://node1.bw.cn:9000/words.txt \                //文件的路径
hdfs://node1.bw.cn:9000/out                       //输出的路径

查看程序执行结果

hdfs dfs -cat hdfs://node1.bw.cn:9000/out/part-00000


 
  

你可能感兴趣的:(spark)