如何在aws emr中为pyspark执行器设置环境变量?

How to set environment variables for pyspark executor in aws emr?

我有一个 AWS EMR 集群 运行 pyspark 应用程序(或步骤,如其在 aws emr 中所称)。

我想为 pyspark 应用程序设置环境变量,并将其放入集群配置中(经过一些谷歌搜索后):

[
  {
    "Classification": "spark-defaults",
    "Properties": {
      "spark.executorEnv.MY_ENV": "some-value"
    }
  }
]

pyspark进程中环境变量不可用。

我也试过:

[
  {
    "Classification": "yarn-env",
    "Properties": {},
    "Configurations": [
      {
        "Classification": "export",
        "Properties": {
          "MY_ENV": "some-value",
        }
      }
    ]
  }
]

然后通过以下方式输出环境变量:

print(os.environ)

MY_ENV无论如何都不会出现。

如何将环境变量传递到我的 pyspark 应用程序?

你能试着把这个放在 spark-env 中吗?

[
{
   "Classification": "spark-env",
   "Properties": {},
   "Configurations": [
       {
         "Classification": "export",
         "Properties": {
             "MY_ENV": "some-value",
         }
       }
   ]
 }
]