ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spark之 Idea操作

2020-09-21 16:31:23  阅读:155  来源: 互联网

标签:scala jar Idea maven org sc 操作 spark


一、pom.xml

<!-- spark -->
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>2.3.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-sql_2.11</artifactId>
      <version>2.3.4</version>
    </dependency>
    <!-- log4j 1.2.17 -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>14.0.1</version>
    </dependency>

因为需要打包scala的代码和maven胖包:

<build>
          <!-- 缩短jar包名字 -->
          <finalName>myspark</finalName>
          <plugins>
            <!-- scala -->
            <plugin>
              <groupId>org.scala-tools</groupId>
              <artifactId>maven-scala-plugin</artifactId>
              <version>2.15.2</version>
              <executions>
                <execution>
                  <goals>
                    <goal>compile</goal>
                    <goal>testCompile</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
            <!-- 胖包 -->
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-assembly-plugin</artifactId>
              <version>2.5.5</version>
              <configuration>
                <archive>
                  <manifest>
                    <mainClass>com.njbdqn.MySpark</mainClass>
                  </manifest>
                </archive>
                <descriptorRefs>
                  <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
              </configuration>
              <executions>
                <execution>
                  <id>make-assembly</id>
                  <phase>package</phase>
                  <goals>
                    <goal>single</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </build>

二、关于scala的配置,setting中java compiler-> 1.8 ;project structure -> 8; libraries 中添加scala-sdk

 

 三、目录

 

 四、spark代码

    // 1, sparkConf
    val conf = new SparkConf().setMaster("local[2]").setAppName("myjob")// 本地2核 ;*表示所有的核
    // 2, sparkcontext
    val sc = new SparkContext(conf) //创建SparkContext,该对象是提交spark App的入口
    // 3, 使用sc创建RDD并执行相应的transformation和action
        sc.textFile("file:////root/sparkdata/wordcount.txt")
      //  sc.textFile("file:////D:\\idea\\ideaProjects\\spark_projects\\myspark8\\src\\main\\scala\\com\\njbdqn\\wordcount.txt")
          .flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).foreach(println(_))
    // 4, 停止sc,结束该任务
        sc.stop()

五、maven打包package后,把target下胖包(是with-dependences那个jar包)放到linux下java -jar 路径 执行

 ./spark-submit --class com.njbdqn.MySpark /root/myspark-jar-with-dependencies.jar 

标签:scala,jar,Idea,maven,org,sc,操作,spark
来源: https://www.cnblogs.com/sabertobih/p/13706382.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有