参考代码仓库中spark-3.x/src/main/java/JavaSparkLauncherExample.java启动 MaxCompute Spark任务。
步骤一:下载并解压Spark客户端
点击链接或在终端输入如下指令下载并解压Spark客户端,示例为Spark
3.1.1-odps0.47.0版本。wget https://odps-repo.oss-cn-hangzhou.aliyuncs.com/spark/3.1.1-odps0.47.0/spark-3.1.1-odps0.47.0-client.tar.gz tar zxvf spark-3.1.1-odps0.47.0-client.tar.gz确认文件位置并已正确下载解压
➜ Downloads ll spark-3.1.1-odps0.47.0-client/ total 192 drwxr-xr-x@ 29 wht staff 928B 3月 12 2025 bin drwxr-xr-x@ 10 wht staff 320B 3月 12 2025 conf drwxr-xr-x@ 5 wht staff 160B 3月 12 2025 data drwxr-xr-x@ 4 wht staff 128B 3月 12 2025 examples drwxr-xr-x@ 300 wht staff 9.4K 1月 8 12:20 jars drwxr-xr-x@ 4 wht staff 128B 3月 12 2025 kubernetes -rw-r--r--@ 1 wht staff 23K 3月 12 2025 LICENSE drwxr-xr-x@ 59 wht staff 1.8K 3月 12 2025 licenses -rw-r--r--@ 1 wht staff 56K 3月 12 2025 NOTICE drwxr-xr-x@ 18 wht staff 576B 3月 12 2025 python -rw-r--r--@ 1 wht staff 4.4K 3月 12 2025 README.md -rw-r--r--@ 1 wht staff 208B 3月 12 2025 RELEASE drwxr-xr-x@ 29 wht staff 928B 3月 12 2025 sbin drwxr-xr-x@ 3 wht staff 96B 3月 12 2025 yarn
注:此时下载的客户端为真实执行的客户端版本,而在pom中引入的 spark_launcher 版本只是用于启动
步骤二:设置环境变量
JAVA_HOME设置
# 推荐使用JDK 1.8
export JAVA_HOME=JAVA_PATH/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATHSPARK_HOME设置
# 下载上文提到的MaxCompute Spark客户端并解压到本地任意路径
export SPARK_HOME=SPARK_PATH
export PATH=$SPARK_HOME/bin:$PATHHADOOP_CONF_DIR设置
Spark 2.4和Spark 3.x必须要设置该参数。
export HADOOP_CONF_DIR=$SPARK_HOME/conf步骤三:在代码中设置相关信息
拉取仓库代码步骤请参考通过IDEA打开示例项目,文件位置及代码段如图所示:

setAppResource(path/to/mainJar):设置主文件mainJar。setPropertiesFile或setConf:设置配置文件propertiesFile。下载MaxCompute Spark客户端中
conf/spark-defaults.conf有参考示例,更多设置请参考 Spark Configuration。spark.launcher.childProcLoggerName: 建议设置,用于显示日志。setMainClass:设置运行的主类mainClass。调用
launcher.launch().waitFor(),其底层实际上是使用一个子进程执行 spark-submit
该文章对您有帮助吗?