spark-submit
是 Apache Spark 的命令行工具,用于提交 Spark 应用程序到集群上运行
--class
: 指定要运行的 Spark 应用程序的主类名。这个类应该包含一个 main
方法作为程序的入口点。
示例:--class org.apache.spark.examples.SparkPi
--master
: 指定 Spark 应用程序要运行的主节点 URL。这个参数决定了 Spark 应用程序的运行模式和资源分配。可选值包括:
local
: 本地模式,使用当前机器的资源和配置。适用于开发和测试。yarn
: 使用 YARN 资源管理器运行 Spark 应用程序。适用于集群环境。mesos://host:port
: 使用 Mesos 资源管理器运行 Spark 应用程序。适用于集群环境。k8s://https://<kubernetes-apiserver-host>:<port>
: 使用 Kubernetes 资源管理器运行 Spark 应用程序。适用于集群环境。示例:--master yarn
--deploy-mode
: 指定 Spark 应用程序的部署模式。可选值包括:
client
: 客户端模式,Spark 应用程序的驱动程序运行在提交应用程序的机器上。适用于开发和测试。cluster
: 集群模式,Spark 应用程序的驱动程序运行在集群的一个节点上。适用于生产环境。示例:--deploy-mode cluster
--name
: 指定 Spark 应用程序的名称。这个参数用于在 Spark Web UI 和日志中标识应用程序。
示例:--name my-spark-app
--jars
: 指定要包含在 Spark 应用程序 classpath 中的 JAR 文件路径。这些 JAR 文件中的代码可以在 Spark 应用程序中被引用和使用。可以使用逗号分隔多个路径。
示例:--jars /path/to/jar1.jar,/path/to/jar2.jar
--files
: 指定要包含在 Spark 应用程序 classpath 中的文件路径。这些文件将在 Spark 应用程序的各个节点上可用。可以使用逗号分隔多个路径。
示例:--files /path/to/file1.txt,/path/to/file2.txt
--conf
: 指定 Spark 应用程序的配置参数。这个参数允许你设置各种 Spark 配置选项,例如内存分配、核心数量等。使用键值对的形式设置配置参数,多个键值对之间用逗号分隔。
示例:--conf spark.executor.memory=4g,spark.executor.cores=4
--driver-memory
: 指定 Spark 驱动程序的内存分配。这个参数用于设置驱动程序可用的内存量。
示例:--driver-memory 4g
--driver-cores
: 指定 Spark 驱动程序可用的核心数量。这个参数用于设置驱动程序可用的 CPU 核心数。
示例:--driver-cores 4
--num-executors
: 指定要创建的 Executor 数量。这个参数用于控制 Spark 应用程序的资源分配和并行度。
示例:--num-executors 10
--executor-memory
: 指定每个 Executor 的内存分配。这个参数用于设置每个 Executor 可用的内存量。
示例:--executor-memory 4g
--executor-cores
: 指定每个 Executor 可用的核心数量。这个参数用于设置每个 Executor 可用的 CPU 核心数。
示例:--executor-cores 4
这只是 spark-submit
参数的一部分,还有其他参数可用于配置 Spark 应用程序。你可以查阅 Spark 官方文档 以获取完整的参数列表和详细信息。