Структура папок Airflow для эффективного управления источниками - PullRequest
1 голос
/ 27 февраля 2020

Какова рекомендуемая структура проекта воздушного потока для лучшего контроля версий? У меня есть что-то вроде этого

|-- my_project
    |-- dags
        |-- my_data_pipeline_dag.py
        |-- lib
            |-- my_python_etl.py

Что было бы лучшим способом сделать это, чтобы быть эффективным? Я попробовал пару вещей, но не удовлетворен подходом. Приветствуются любые мысли или отраслевые стандарты.

1) Я вручную копирую папку dags из репозитория управления версиями ie cp ~/my_project/dags ~/airflow/dags. (Поверьте, я не горжусь этим)

2) Вставил папку с именем dags вместо my_project в репозиторий Bit Bucket. Даже это не кажется хорошей идеей.

Я был бы очень признателен, если бы вы указали мне на что-то или дали конкретные ответы для улучшения этой ситуации.

Что-то говорит Я Docker является ответом на это. Любые мысли по этому поводу также высоко ценится!

1 Ответ

0 голосов
/ 27 февраля 2020

Есть ли у вас какой-либо удаленный доступ к папке dags в вашей среде выполнения? Вы можете настроить конвейер сборки, который помещает содержимое папки dag на коммиты в ветку git. Например: если папка dags была папкой в ​​облачном хранилище Google или корзине AWS, вы можете смонтировать эту корзину, используя файловую систему fuse. Вы строите конвейер, и тогда в эту папку вы попадете. Посмотрите пример того, как это делается с помощью Google Cloud Build здесь: https://www.web3us.com/how-guides/sync-github-repo-your-gcp-composer

...