Как передать переменную среды в проект, который работает на EMR Serverless?

В моем проекте PySpark я использую пакет Python, который используетDynaconfпоэтому мне нужно установить следующую переменную среды -ENV_FOR_DYNACONF = platform. Проблема в том, что я не понимаю, как передать эту переменную среды при запуске бессерверного задания EMR.

Я пробовал это -

os.environ['ENV_FOR_DYNACONF'] = platform

В начале кода, но он не работал и в любом случае я хочу понять, как правильно передавать переменные env в EMR.

Кто-нибудь может помочь?

1 ответ

Чтобы передать переменные среды в EMR Serverless, вы можете использовать следующие свойства искрового задания вsparkSubmitParameters:

  • spark.executorEnv.[KEY]для передачи переменных env исполнителям.
  • spark.emr-serverless.driverEnv.[KEY]для передачи переменных env драйверу.

Пример :

      "sparkSubmitParameters": "--conf spark.emr-serverless.driverEnv.ENV_FOR_DYNACONF=platform"

Для получения дополнительной информации см. https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/jobs-spark.html .

Другие вопросы по тегам