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 = --conf =),如:
    • --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}

你可能感兴趣的:(专栏01-PySpark使用,spark,大数据,hive)