Найти в Дзене

Быстро развернем Airflow с Docker и запуск первый DAG

В этой статье мы развернем готовый контейнер Apache Airflow в Docker, укажем путь к нашему дагу, к базе и запустим его. Что такое Apache Airflow? Apache Airflow — это инструмент для выражения и выполнения рабочих процессов в виде направленных ациклических графов (DAG). Он включает в себя утилиты для планирования задач, отслеживания хода выполнения задач и обработки зависимостей задач. Имеет графический интерфейс для отслеживания процессов. Что нам нужно для работы Я разворачивал все на Windows. На других системах все аналогично. Нам будет нужно установить: Далее запускаем VS Code, открываем терминал (Меня-> Терминал-> Создать терминал (Ctrl+Shift+`)) Выбираем готовый контейнер с Apache Airflow https://hub.docker.com/search?q=airflow далее в открытом терминале закачаем его (использую контейнер puckel/docker-airflow): docker pull puckel/docker-airflow Ждём когда скатается образ Образ скачали Для того чтобы посмотреть какие образы у нас есть, запустим команду docker images Чтобы провер
Оглавление

В этой статье мы развернем готовый контейнер Apache Airflow в Docker, укажем путь к нашему дагу, к базе и запустим его.

Что такое Apache Airflow?

Apache Airflow — это инструмент для выражения и выполнения рабочих процессов в виде направленных ациклических графов (DAG). Он включает в себя утилиты для планирования задач, отслеживания хода выполнения задач и обработки зависимостей задач. Имеет графический интерфейс для отслеживания процессов.

Что нам нужно для работы

Я разворачивал все на Windows. На других системах все аналогично.

Нам будет нужно установить:

Далее запускаем VS Code, открываем терминал (Меня-> Терминал-> Создать терминал (Ctrl+Shift+`))

Выбираем готовый контейнер с Apache Airflow https://hub.docker.com/search?q=airflow далее в открытом терминале закачаем его (использую контейнер puckel/docker-airflow):

docker pull puckel/docker-airflow

Ждём когда скатается образ

идет загрузка образа
идет загрузка образа

Образ скачали

-2

Для того чтобы посмотреть какие образы у нас есть, запустим команду

docker images
Как видим, нужный образ скачали
Как видим, нужный образ скачали

Чтобы проверить работу, смонтируем контейнер:

docker run -d -p 8080:8080 puckel/docker-airflow webserver

Посмотрим запущенные контейнеры, увидим свой:

docker ps

Если вам нужно будет перейти в командную строку рабочего контейнера, используем команду:

docker exec -ti <container id> bash
-4

Перейдя по ссылке http://localhost:8080/admin/ увидим, что Apache Airflow запущен

Пока нет ни одного Dag-а
Пока нет ни одного Dag-а

Для запуска DAG-а

Итак, контейнер запущен и работает. Теперь нам нужно создать и запустить DAG

В связи с тем что мы работаем с контейнером (docker) мы не можем вмешиваться в готовый образ. Поэтому нам нужно указать совместную папку на локальном компьютере с DAG-ом.

docker run -d -p 8080:8080 -v E:\Projects_Python\Airflow_test\dags:/usr/local/airflow/dags puckel/docker-airflow webserver

где "E:\Projects_Python\Airflow_test\dags" - это папка с DAG-ми на локальной машине.

/usr/local/airflow/dags - это каталог, в котором должен храниться DAG в контейнере.

Запустим DAG

Для примера можно взять DAG из репозитория GitHub. Возьмем DAG Helloworld Вот (Можно увидеть как действует этот DAG на видео YouTube )

Чтобы добавить его в Airflow, скопируйте Helloworld.py в папку для DAG-ов"E:\Projects_Python\Airflow_test\dags". Подождав пару минут, обновив графический интерфейс Airflow и вуаля, вы должны увидеть новый DAG.

-6