Тестирование нескольких конвейеров pyspark с различными переменными среды, загруженными в статический файл.Python

Программы на Python
Ответить
Anonymous
 Тестирование нескольких конвейеров pyspark с различными переменными среды, загруженными в статический файл.

Сообщение Anonymous »

Хорошо, у меня есть вопрос.
Для контекста: я новый специалист по контролю качества, работающий в команде, которая использует pyspark в качестве механизма ETL.
Я использую pytest в качестве среды тестирования.
У нас есть несколько конвейеров (ETL, с этого момента я буду использовать этот термин) в одном репозитории.
конечно, мы используем переменные среды при запуске конвейера (мы внедряем их через воздушный поток).
Проблема в том, что переменные env загружаются в переменные Python в файл «RUN ENV», который является глобальным файлом для всех конвейеров.
Почему это проблема?
Когда я тестирую весь репозиторий через CI, первый тест конвейера инициализирует переменные среды (через conftest.py), а они, в свою очередь, загружаются в RUN ENV.
Это вызывает неприятную ситуацию. Когда конвейер завершается. запускается,
и начинается новый: RUN ENV уже настроен с исходными переменными окружения, которые я настроил, и теперь его следует настроить по-другому для следующего конвейера!
Я могу пойти дальше и переконфигурировать каждую переменную в RUN ENV (в соответствии с текущим загружаемым конфликтом) перед каждым тестом e2e - но это кажется неправильным.
Я знаю, что использование RUN ENV законно: обычно из репозитория вызывается только один конвейер. . Но как я могу обойти это аккуратно, чтобы сделать все понятным и разумным, чтобы RUN ENV можно было переконфигурировать при каждом втором тесте? Или, может быть, определено по-другому, чтобы эта проблема не имела значения?
Я пытался отделить большую часть кода от запускаемого env-файла, хотя мне не следует прикасаться к чистому исходному кодуПытался добавить env в фикстуры, а не просто в conftest, но на самом деле это не решает проблему, поскольку run env загружается слишком рано

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-loaded-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»