更新时间:2024-08-05 GMT+08:00

在Linux环境中编包并运行Spark程序

操作场景

在程序代码完成开发后,您可以上传至Linux客户端环境中运行应用。使用Scala或Java语言开发的应用程序在Spark客户端的运行步骤是一样的。

  • 使用Python开发的Spark应用程序无需打包成jar,只需将样例工程复制到编译机器上即可。
  • 用户需保证worker和driver的Python版本一致,否则将报错:"Python in worker has different version %s than that in driver %s."。
  • 用户需保证Maven已配置华为镜像站中SDK的Maven镜像仓库,具体可参考配置华为开源镜像仓

操作步骤

  1. 在IntelliJ IDEA中,打开Maven工具窗口。

    在IDEA主页面,选择View->Tool Windows-> > Maven打开“Maven”工具窗口。
    图1 打开Maven工具窗口

    若项目未通过maven导入,需要执行以下步骤:

    右键选择单击样例代码项目中的pom文件,选择Add as Maven Project,添加Maven项目

    图2 添加Maven项目

  2. 通过Maven生成Jar包。

    1. 在Maven工具窗口,选择clean生命周期,执行Maven构建过程。
      图3 选择clean生命周期,执行Maven构建过程
    2. 在Maven工具窗口,选择package生命周期,执行Maven构建过程。
      图4 选择package生命周期,执行Maven构建过程
      在Run:中出现下面提示,则说明打包成功
      图5 打包成功提示
    3. 您可以从项目目录下的target文件夹中获取到Jar包。
      图6 获取jar包

  3. 2中生成的Jar包(如CollectFemaleInfo.jar)复制到Spark运行环境下(即Spark客户端),如“/opt/female”。运行Spark应用程序,具体样例程序可参考开发Spark应用

    在Spark任务运行过程中禁止重启HDFS服务或者重启所有DataNode实例,否则可能会导致任务失败,并可能导致JobHistory部分数据丢失。