1:一般配置shell脚本,通过sh submit.sh example.py 形式提交Python任务到spark上
2:配置submit.sh脚本
-
Spark 应用程序的主类:使用
--class
参数指定 Spark 应用程序的入口类。 -
Spark 应用程序的提交模式:使用
--master
参数指定 Spark 应用程序的提交模式,可以是local
(本地模式)、yarn
(YARN 模式)或者其他支持的模式。 -
Spark 应用程序的名称:使用
--name
参数指定 Spark 应用程序的名称,方便在 Spark UI 或者日志中进行识别。 -
Spark 应用程序的执行内存和驱动内存:使用
--executor-memory
和--driver-memory
参数分别指定执行器和驱动器的内存大小,例如--executor-memory 4g --driver-memory 2g
。 -
Spark 应用程序的执行核数:使用
--executor-cores
参数指定每个执行器使用的 CPU 核数。 -
Spark 应用程序的 Jar 包路径:使用
--jars
参数指定需要添加到 Spark 应用程序的额外 Jar 包路径,多个 Jar 包可以使用逗号分隔。 -
Spark 应用程序的其他配置参数:根据你的具体需求,可以使用
--conf
参数来设置其他 Spark 配置参数,例如--conf spark.sql.shuffle.partitions=10
。 -
Spark 应用程序的输入输出路径等参数:根据你的具体业务逻辑,可能需要设置输入路径、输出路径以及其他相关参数。
#!/bin/bash
SPARK_HOME=/path/to/spark
APP_JAR=/path/to/your/app.jar
MAIN_CLASS=com.example.YourSparkApp
EXECUTOR_MEMORY=4g
DRIVER_MEMORY=2g
EXECUTOR_CORES=4
INPUT_PATH=/path/to/input
OUTPUT_PATH=/path/to/output
$SPARK_HOME/bin/spark-submit \
--class $MAIN_CLASS \
--master yarn \
--deploy-mode cluster \
--name YourSparkApp \
--executor-memory $EXECUTOR_MEMORY \
--driver-memory $DRIVER_MEMORY \
--executor-cores $EXECUTOR_CORES \
--jars /path/to/extra.jar \
--conf spark.sql.shuffle.partitions=10 \
--conf spark.some.other.config=value \
$APP_JAR $INPUT_PATH $OUTPUT_PATH
请根据你的实际情况和需求修改上述示例中的参数和路径。