spark-submit 提交的参数

spark-submit 是用于提交Spark应用到集群的命令行工具。它允许用户控制Spark应用的各种参数,比如应用名、集群URL、运行模式、资源分配等。
以下是一些常用的 spark-submit 参数:

--master MASTER_URL ,其中 MASTER_URL 可选如下:
  local,启1个work线程本地运行应用程序
  local[K],启K个work线程本地运行应用程序
  local[K,F],启K个work线程本地运行应用程序,且运行中最大容忍F次失败次数
  local[*],尽可能多启动cpu逻辑线程本地运行应用程序
  local[*,F],尽可能多启动cpu逻辑线程本地运行应用程序,且运行中最大容忍F次失败次数
  local-cluster[N,C,M],仅用于单元测试,它在一个JVM中模拟一个分布式集群,其中有N个工作线程,每个工作线程有C个内核,每个工作进程有M MiB的内存。
  spark://host:port,连接standalone集群的master节点,端口默认7077
  spark://HOST1:PORT1,HOST2:PORT2,连接带有Zookeeper备份的standalone集群的master节点。该列表必须使用Zookeeper设置高可用性集群中的所有主主机,端口默认7077。
  mesos://host:port,连接 Mesos 集群,端口默认5050
  yarn,连接 YARN 集群,此外--deploy-mode参数决定了是client还是cluster模式
  k8s://https://host:port 连接 K8s 集群,此外--deploy-mode参数决定了是client还是cluster模式
--deploy-mode 可选cluster及client。cluster:在work节点上部署driver。client:作为外部client在本地部署driver,默认是client
--driver-memory MEM 分配driver的内存,默认1024M
--executor-memory MEM 分配每个executor的内存,默认1G
--driver-cores NUM driver 可以使用的核数,默认1。注意仅在cluster模式下有效
--total-executor-cores NUM 所有的executor总共的核数。注意仅在Spark standalone 以及 Mesos下生效
--executor-cores NUM 每个executor可以使用的核数,默认1。注意仅在 Spark standalone, YARN以及Kubernetes下生效
--num-executors NUM executor启动的数量,默认2。注意仅在Spark on YARN 以及 Kubernetes下生效

示例代码:
spark-submit \
--master spark://23.195.26.187:7077 \
--deploy-mode cluster \
--conf spark.executor.memory=4g \
--conf spark.cores.max=8 \
--name "MySparkApp" \
--class com.example.MySparkApp \
/path/to/your/sparkapp.jar \
arg1 arg2 arg3

在这个例子中,我们提交了一个名为 MySparkApp 的应用到指定的Spark集群。应用的入口类是 com.example.MySparkApp,位于 /path/to/your/sparkapp.jar。最后的 arg1 arg2 arg3 是传递给应用的参数。

posted @ 2024-05-16 16:05  业余砖家  阅读(181)  评论(0编辑  收藏  举报