zoukankan      html  css  js  c++  java
  • Eclipse+Maven+Scala Project+Spark | 编译并打包wordcount程序

    学习用Eclipse+Maven来构建并打包一个简单的单词统计的例程。
    本项目源码已托管于Github –>【Spark-wordcount】

    第一步 在EclipseIDE中安装Scala插件
    在Eclipse中安装Scala插件

     

     


    第二步 创建Scala Project
    创建Scala 项目

     

     


    第三步 给Scala项目注入maven依赖
    将Scala 项目 转为 Maven 项目

     

     


    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.elon33.scala</groupId>
        <artifactId>WordCount</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-core_2.11</artifactId>
                <version>2.2.1</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
    
                <plugin>
                    <groupId>net.alchim31.maven</groupId>
                    <artifactId>scala-maven-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
            </plugins>
        </build>
    </project>
    


    第四步 设置Scala Compiler 以及修改Scala Libarary Container版本
    当设置完pom.xml,我们可以看到有一些错误出些,主要错误来源于编译器交叉编译,Scala源码包版本不对引起的。

    在这个项目中,从pom.xml中可以观察到spark版本是spark-core_2.11,因此Maven Dependencies中已经集成了Scala2.11,因此可以通过指定编译器版本和源码包版本解决Errors。

     

    第五步 Maven 编译打包
    通过对项目进行 Maven Install 可以得到可运行的jar包

     

     

    编译好的jar包中包含的class文件


    第六步 Spark 集群上运行
    将jar包发送到Spark集群上运行

    spark-submit --class com.elon33.wordcount WordCount-0.0.1-SNAPSHOT.jar ../opt/modules/spark-2.2.1-bin-hadoop2.7/README.md ./wordcounts
    


    第七步 计数结果
    单词程序的统计结果

    [elon@hadoop scala]$ cd wordcounts/
    [elon@hadoop wordcounts]$ ls
    part-00000 _SUCCESS
    [elon@hadoop wordcounts]$ cat part-00000
    (package,1)
    (For,3)
    (Programs,1)
    (processing.,1)
    (Because,1)
    (The,1)
    (page](http://spark.apache.org/documentation.html).,1)
    ......

    参考资料:
    [1].Using Scala IDE on Maven projects http://scala-ide.org/docs/tutorials/m2eclipse/
    ---------------------
    作者:longshilin.com
    来源:CSDN
    原文:https://blog.csdn.net/coder__cs/article/details/79047053
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    第六章 (3)CreateThread函数
    第六章(5)C/C++运行期库
    自己去除迅雷广告
    第六章(4)终止线程的运行
    第四章 进程(7)CreateProcess函数详解
    第六章(6)进程ID的相关函数
    第六章 线程的基础知识
    第四章 进程(5)进程的当前驱动器和目录
    第四章 进程(6)CreateProcess函数详解
    第六章 (2)线程函数
  • 原文地址:https://www.cnblogs.com/yuluoxingkong/p/10530357.html
Copyright © 2011-2022 走看看