sparkアプリケーションを実行するときに使用できるように、EMRでカスタム環境変数を設定する必要があります。
私はこれを追加しようとしました:
...
--configurations '[
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Configurations": [],
"Properties": { "SOME-ENV-VAR": "qa1" }
}
],
"Properties": {}
}
]'
...
また、「spark-envをhadoop-env
に置き換えようとしましたが、何も機能していないようです。
Awsフォーラムから this 回答があります。しかし、私はそれを適用する方法を理解することはできません。私はEMR5.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...
私の場合、spark-envをyarn-envに置き換えると問題が修正されました。