概要
Sparkアプリでも環境変数を使いたい場合があったのでやり方をまとめておく。
やりかた
調べた感じ、DriverとExecutorとで渡し方が違うようです。
- Driver
- http://spark.apache.org/docs/latest/running-on-yarn.html#spark-properties
spark.yarn.appMasterEnv.[EnvironmentVariableName]
- Executor
- http://spark.apache.org/docs/latest/configuration.html#available-properties
spark.executorEnv.[EnvironmentVariableName]
具体的な指定方法としては、
spark-submit <他の設定とか> \
--conf spark.yarn.appMasterEnv.AWS_ACCESS_KEY_ID="HOGE" \
--conf spark.executorEnv.AWS_ACCESS_KEY_ID="HOGE" \
<実行するJarとか引数とか>
という感じです。