Apache Spark 提交作业时可以使用一系列参数来配置应用运行环境和执行行为。以下是一些常见的Spark Submit命令行参数:
./bin/spark-submit \
--class <主类名> \
--master <集群管理器地址> \
--deploy-mode <部署模式> \
--executor-memory <每个Executor的内存大小> \
--executor-cores <每个Executor的核心数> \
--num-executors <启动Executor的数量> \
--driver-memory <Driver程序的内存大小> \
--driver-cores <Driver程序的核心数> \
--conf <自定义Spark配置项,如spark.shuffle.manager, spark.sql.shuffle.partitions等> \
<应用程序 jar 包、python egg 或 .py 文件路径> \
[应用参数]
详细解释:
-
--class
: 指定要运行的应用程序的主类(对于Java/Scala应用)。 -
--master
: 指定Spark集群的URL,例如spark://hostname:port
、yarn
或local[*]
(本地模式并使用所有可用核心)。 -
--deploy-mode
: 可以是client
或cluster
,指定Driver程序运行的位置。在client
模式下,Driver运行在提交任务的节点上;在cluster
模式下,Driver运行在集群内部的一个worker节点上。 -
--executor-memory
: 设置每个Executor进程使用的内存量,比如2g
表示2GB。 -
--executor-cores
: 设置每个Executor使用的CPU核心数。 -
--num-executors
: 指定在集群中启动Executor的数量。 -
--driver-memory
: 为Driver分配的内存大小。 -
--driver-cores
: 为Driver分配的CPU核心数。 -
--conf
: 用于设置Spark配置属性,例如调整shuffle行为、日志级别等。 -
<应用程序jar包、python egg或.py文件路径>
: 提交给Spark运行的实际应用程序代码位置。
此外,还有许多其他高级选项和配置,可以根据具体需求进行设置。这些参数确保了Spark应用能够在各种环境下高效且可控地运行。