使用IDEA打包Spark应用程序(Windows+Maven+Scala)

1、编写Spark应用程序

参考我的上一篇博文:《使用IDEA编写Spark应用程序(Windows+Maven+Scala)》

2、打包配置

单击菜单File->Project Structure,

在弹出的界面选择Artifacts->加号(+)->JAR->From Modules with dependencies...,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

在弹出的对话框中选择模块、主类,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

单击OK按钮,结果页面,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

3、打包

单击菜单Build -> Build Artifact,

在弹出的界面,选择SimpleApp:jar - > Build,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

打包成功后,右下角出现完成提示,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

4、复制jar包

在项目以下路径SimpleApp\out\artifacts\SimpleApp_jar\复制SimpleApp.jar包,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

复制到Spark以下路径:spark-3.0.0\examples\jars\SimpleApp.jar,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

5、解压Hadoop压缩包

下载hadoop-3.2.1.tar.gz压缩包,并解压(注意:不需要安装配置),如下所示:

参考Hadoop官网:http://hadoop.apache.org/

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

6、解压winutils压缩包

下载winutils-master.zip压缩包,并解压,如下所示:

参考winutils官网:https://github.com/steveloughran/winutils

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

7、覆盖Hadoop相关文件

选择winutils-master/hadoop-3.0.0,并覆盖hadoop-3.2.1\bin文件夹下同名文件,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

覆盖后结果,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

8、启动spark-shell,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

9、运行Jar包

打开CMD命令提示符,cd到D:\spark-3.0.0\bin文件夹,输入spark-submit --class com.example.SimpleApp ../examples/jars/SimpleApp.jar,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)

运行结果,如下所示:

使用IDEA打包Spark应用程序(Windows+Maven+Scala)