spark-submit 高频可选参数及作用

前言

在向集群提交任务时,通常会遇到内存不足hive表中文乱码等情况,需要在 submit 时配置可选参数来解决相应的问题。本文对部分可选参数做一个小结。

常用可选参数

参考:
Spark官方文档-Submitting Applications

spark-submit 脚本位于Spark的bin目录中,用于在集群上启动applications。对于Python,可以使用spark-submit 的 --py-files 参数来添加.py、.zip或.egg文件与应用程序一起分发到集群中。也可以直接将 .py 文件直接通过spark-submit提交:

spark-submit --master yarn job868530.py

spark-submit 常用的可选参数如下:

  • -- class: application的入口点;
  • --master: 集群的master URL,(形式为spark://23.195.26.187:7077), 也可以传递yarn, 根据--deploy-mode的值,以客户端或集群模式连接到YARN集群。 集群位置将根据 HADOOP_CONF_DIR 或 YARN_CONF_DIR 变量找到。
  • --deploy-mode: 将driver部署在worker nodes(cluster)还是在本地作为外部clent(client),默认为client.
  • --conf: "key=value"格式的任意 Spark 配置属性. 多个配置需作为单独的参数传递.(例如--conf <key>=<value> --conf <key2>=<value2>),如:
    • --conf spark.pyspark.driver.python=/usr/bin/python3.6
    • --conf spark.pyspark.python=/usr/bin/python3.6
  • --driver-memory: Driver内存,默认为1g,这通常会导致内存不足的错误;
  • --executor-memory: 每个 executor 的内存,默认是1G;
  • --num-executors: 启动的 executor 数量。默认为2。在 yarn 下使用;
  • --executor-core: 每个 executor 的核数。在yarn或者standalone下使用;

例子

这个例子可以解决内存不足hive表中文乱码问题。

COMMON_SETTING="--master yarn --deploy-mode client --driver-memory 32g --executor-memory 32g \
 --conf spark.pyspark.driver.python=/usr/bin/python3.6 \
 --conf spark.pyspark.python=/usr/bin/python3.6"
 
 
cur_date=${zdt.format("yyyy-MM-dd")}

/opt/app/spark/bin/spark-submit $COMMON_SETTING job_899769.py ${cur_date}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值