복붙노트

[HADOOP] EMR의 사용자 지정 환경 변수를 스파크 응용 프로그램에 사용할 수 있도록 설정하는 방법

HADOOP

EMR의 사용자 지정 환경 변수를 스파크 응용 프로그램에 사용할 수 있도록 설정하는 방법

스파크 애플리케이션을 실행할 때 사용할 수 있도록 EMR에 맞춤 환경 변수를 설정해야합니다.

나는 이것을 추가하려고 노력했다 :

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

또한 "spark-env를 hadoop-env로 대체하려고했습니다. 하지만 아무것도 작동하는 것 같습니다.

aws 포럼에서이 대답이 있습니다. 하지만 어떻게 적용할지 알아낼 수는 없습니다. EMR 5.3.1에서 실행 중이며 cli : aws emr create-cluster ...에서 사전 구성된 단계로 실행합니다.

해결법

  1. ==============================

    1.아래 JSON과 같은 사용자 지정 구성을 파일 custom_config.json에 추가합니다.

    아래 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...
    
  2. ==============================

    2.나를 위해 spark-env를 yarn-env 고정 문제로 대체했습니다.

    나를 위해 spark-env를 yarn-env 고정 문제로 대체했습니다.

  3. from https://stackoverflow.com/questions/42395020/how-to-set-a-custom-environment-variable-in-emr-to-be-available-for-a-spark-appl by cc-by-sa and MIT license