我需要在 EMR 中设置一个自定义环境变量,以便在运行 Spark 应用程序时可用。

我试过添加这个:

                   ...
                   --configurations '[
                                      {
                                      "Classification": "spark-env",
                                      "Configurations": [
                                        {
                                        "Classification": "export",
                                        "Configurations": [],
                                        "Properties": { "SOME-ENV-VAR": "qa1" }
                                        }
                                      ],
                                      "Properties": {}
                                      }
                                      ]'
                   ...

并尝试用 hadoop-env 替换“spark-env”
但似乎没有任何效果。

aws 论坛有 this 的答案。但我不知道如何应用它。
我在 EMR 5.3.1 上运行并使用 cli 中的预配置步骤启动它:aws emr create-cluster...

最佳答案

将如下 JSON 的自定义配置添加到文件中,例如 custom_config.json

[
  {
   "Classification": "spark-env",
   "Properties": {},
   "Configurations": [
       {
         "Classification": "export",
         "Properties": {
             "VARIABLE_NAME": VARIABLE_VALUE,
         }
       }
   ]
 }
]

并且,在创建 emr 集群时,将文件引用传递给 --configurations 选项
aws emr create-cluster --configurations file://custom_config.json --other-options...

关于amazon-web-services - 如何在 EMR 中设置自定义环境变量以供 spark 应用程序使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42395020/

10-12 23:45