首先从一条命令说起:
spark-submit \
--master yarn \
--deploy-mode client \
--driver-memory 10G \
--executor-memory 10G \
--num-executors 25 \
--executor-cores 4 \
--queue ltemr \
--conf "spark.driver.extraJavaOptions=-Dhdp.version=3.1.0.0-78" \
--conf "spark.yarn.am.extraJavaOptions=-Dhdp.version=3.1.0.0-78" \
--jars $(echo /home/ltemr/oozie_signal/spark/lib/*.jar | tr ' ' ',') \
--properties-file conf/spark-properties-uemr.conf \
uemr-streaming-driver-1.0-SNAPSHOT.jar \
UEMRFixLocationDriver
接着会执行:
exec "${SPARK_HOME}"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"
注解: $@ 表示我们spark-submit提交命令中所有的参数
我们再看看spark-class做了什么工作,下边是关于spark-class脚本的内容
if [ -z "${SPARK_HOME}" ]; then
source "$(dirname "$0"