Этот вопрос связан с пониманием концепции, касающейся DockerOperator и Apache Airflow, поэтому я не уверен, является ли этот сайт правильным местом. Если нет, пожалуйста, дайте мне знать, где я могу опубликовать это.
Ситуация следующая: я работаю с ноутбуком Windows, у меня есть очень простой c конвейер ETL, который извлекает данные с какого-либо сервера и записывает необработанные данные в MongoDB по расписанию основа с Apache -потоком. У меня есть файл docker-compose.yml
с тремя службами: служба mon go для MongoDB, служба mon go - express в качестве инструмента администратора для MongoDB, служба веб-сервера для Apache -Airflow и postgres служба в качестве базы данных для Apache -Airflow.
До сих пор я разработал некоторый код Python в функциях, и эти функции вызываются экземпляром Airflow с использованием PythonOperator. Поскольку отладка с помощью PythonOperator очень сложна, я хочу вместо этого попробовать DockerOperator. Я следовал этому учебному пособию , в котором утверждается, что с помощью DockerOperator вы можете разрабатывать свой исходный код независимо от операционной системы, в которой код будет позже выполняться из-за однократной сборки Docker концепции, запуска где угодно'.
Моя проблема в том, что я не полностью понял все необходимые шаги, необходимые для запуска кода с помощью DockerOperator. В этом руководстве у меня есть следующие вопросы, касающиеся разработки и развертывания задач:
Упакуйте артефакты вместе со всеми зависимостями в Docker изображение. ==> Значит ли это, что мне нужно создавать Dockerfile для каждой задачи, а затем создавать образ с помощью этого Dockerfile? Предоставить Entrypoint из вашего контейнера для вызова и параметризации задачи с помощью DockerOperator. ==> Как вы это делаете?
Спасибо за ваше время, я очень ценю это!