当前位置: 代码网 > it编程>编程语言>Java > 如何使用 IntelliJ IDEA 编写 Spark 应用程序(Scala + Maven)

如何使用 IntelliJ IDEA 编写 Spark 应用程序(Scala + Maven)

2024年11月26日 Java 我要评论
使用 intellij idea 编写 spark 应用程序(scala + maven)本教程演示如何使用 intellij idea 和 maven 编写 spark 应用程序(以 wordcou

使用 intellij idea 编写 spark 应用程序(scala + maven)

本教程演示如何使用 intellij idea 和 maven 编写 spark 应用程序(以 wordcount 程序为例)。运行环境为 ubuntu 16.04。

环境准备

安装 intellij idea
(1)从 intellij idea 官网 下载安装包。
(2)解压安装包并重命名:

cd ~/下载
sudo tar -zxvf ideaiu-2016.3.4.tar.gz
sudo mv idea-iu-163.12024.16 /usr/local/intellij

(3)运行 idea:

cd /usr/local/intellij/bin
./idea.sh

(4)选择 evaluate for free 使用试用版。
(5)为快捷启动创建桌面图标:

cd /usr/share/applications
sudo gedit idea.desktop

在文件中添加以下内容:

[desktop entry]
encoding=utf-8
version=1.0
name=intellij idea
genericname=java ide
comment=intellij idea is a code-centric ide focused on developer productivity.
exec=/usr/local/intellij/bin/idea.sh
icon=/usr/local/intellij/bin/idea.png
terminal=false
type=application
categories=development;ide

(6)重启系统后,可在启动栏中搜索 intellij idea。

配置 intellij idea
安装 scala 插件
(1)打开 idea,依次选择 file -> settings -> plugins。
(2)点击 install jetbrains plugin,搜索并安装 scala 插件。
配置 jdk 和 scala sdk
(1)打开 file -> project structure。
配置 jdk:
(2)点击左侧 sdks,添加系统安装的 jdk(假设已安装并配置 java 环境)。
(3)配置 scala sdk:
添加已安装的 scala,并选择 copy to project libraries。

创建 maven 工程文件
新建工程
在 idea 主界面选择 create new project。
选择 maven,点击下一步。
填写 groupid 和 artifactid,例如:
groupid: dblab
artifactid: wordcount
配置项目路径,点击 finish

配置工程
添加 scala 框架
右键工程名称,选择 add framework support。
勾选 scala,点击 ok。
设置 sources root
在 src 文件夹下创建名为 wordcount 的子文件夹。
右键该文件夹,选择 mark directory as -> sources root。

编写代码
创建 scala 文件
(1)在 wordcount 文件夹中右键,选择 new -> scala class,创建名为 wordcount 的 object 类型文件。
(2)粘贴以下代码

import org.apache.spark.sparkcontext
import org.apache.spark.sparkcontext._
import org.apache.spark.sparkconf
object wordcount {
  def main(args: array[string]) {
    val inputfile = "file:///usr/local/spark/mycode/wordcount/word.txt"
    val conf = new sparkconf().setappname("wordcount").setmaster("local")
    val sc = new sparkcontext(conf)
    val textfile = sc.textfile(inputfile)
    val wordcount = textfile.flatmap(line => line.split(" "))
      .map(word => (word, 1))
      .reducebykey((a, b) => a + b)
    wordcount.foreach(println)
  }
}

配置 pom.xml
(1)清空 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>dblab</groupid>
    <artifactid>wordcount</artifactid>
    <version>1.0-snapshot</version>
    <properties>
        <spark.version>2.1.0</spark.version>
        <scala.version>2.11</scala.version>
    </properties>
    <dependencies>
        <dependency>
            <groupid>org.apache.spark</groupid>
            <artifactid>spark-core_${scala.version}</artifactid>
            <version>${spark.version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <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>
                <artifactid>maven-compiler-plugin</artifactid>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

(2)右键项目名称,选择 maven -> reload project。

运行程序
运行 wordcount
(1)打开 wordcount.scala 文件,在代码窗口内右键选择 run ‘wordcount’。

(2)确保输入文件路径 /usr/local/spark/mycode/wordcount/word.txt 存在,文件内容示例:

hello world
hello hadoop

(3)查看终端输出,结果类似:

(hello, 2)
(world, 1)
(hadoop, 1)

打包为 jar 文件
导出 jar 包

(1)打开 file -> project structure。

(2)选择 artifacts -> + -> jar -> from modules with dependencies

(3)选择 main class 为 wordcount。

(4)删除不必要的文件,只保留 wordcount.jar 和 ‘wordcount’ compile output。

(5)点击 apply 和 ok。

(6)导出 jar 文件:

build -> build artifacts -> build。导出的 jar 包存储在out/artifacts/wordcount_jar/wordcount.jar。 提交到 spark 集群运行
(1)将 jar 包复制到指定路径:

cp /path/to/wordcount.jar /home/hadoop

(2)使用 spark 提交程序:

/usr/local/spark/bin/spark-submit --class wordcount /home/hadoop/wordcount.jar

(3)查看终端输出,验证结果。
通过以上步骤,你已经完成了使用 intellij idea 和 maven 编写、运行及打包一个简单的 spark 应用程序!

到此这篇关于使用 intellij idea 编写 spark 应用程序(scala + maven)的文章就介绍到这了,更多相关idea 编写 spark 应用程序内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com