我正在使用 Dataproc 运行我的 pyspark 作业。以下是我可以提交工作的三种方式:
dataproc submit
命令spark-submit
spark提供的实用程序- 对于小型实验,我也可以使用 spark-shell
现在,我必须修改一些环境变量。例如SPARK_HOME
.
因为dataproc submit
我可以选择分别为司机和工人修改环境变量。具体来说,我可以spark.executorEnv.[Name]
用来设置工作人员的环境变量和spark.yarn.appMasterEnv.[NAME]
设置驱动程序环境变量。
对于spark-submit
实用程序和 spark-shell,我可以在仅在 master 上导出 env 变量后提交 spark 作业。export $SPARK_HOME='path'
然后它工作正常。
我想了解 spark 在幕后为 env 变量做了什么。设置在worker上的env变量是否与master相同并且仅当它们通过在worker节点上设置显式覆盖时才被覆盖?为什么我们需要为司机和工人提供不同的环境变量?