Отказ от ответственности: Я отправил PRS для двух функций ветеров, упомянутых в этой статье (командование | Play-airflow и The
–init-scripts Флаг). Я чувствую ответственность за ваш пользовательский опыт, используя их, поэтому, если у вас есть вопросы или обратная связь, пожалуйста, обратитесь к мне.
Чтобы подумать, работающий на вашей машине, сделайте следующее:
- Установить Докер и Docker Compose
- Клонировать репозиторий воздушного потока
git clone git@github.com: apache/airflow.git
- В папке воздушного потока
./ветер start-airflow
С первым запуском Breeze создает папку Файлы/Dags
в папке репо. Добавление файлов DAG в этой папке сделает их появляться в воздушном потоке.
Перейти к https://localhost: 28080 Чтобы увидеть ваш воздушный поток.
Если вам не нравится, когда рецепты еды начнутся со страниц Blabbing, пропустите эту часть.
Моя проблема
Я начал писать несколько записей в блоге для людей, которые впервые приближаются к воздуху Python и Apache. Мне нужен был быстрый способ для моих читателей настроить свой собственный воздушный поток и еще более бывший способ объяснить, как это сделать.
Я хотел что-то настолько простое, что вы, и я смог сосредоточиться только на Кодекс DAG. Введите ветер.
Что такое ветерок?
Breeze – это инструмент командной строки для раскрутки экземпляра докеренного воздуха для разработки или тестирования. Его можно использовать для создания среды с определенными свойствами для проведения тестов, прежде чем развертывать до производства. Это довольно круто, если вы находитесь в CI/CD.
В первый раз, когда я встретил ветерок Я работал над автоматическим созданием нашей собственной среды для пробеги тестов (для хранилища данных, а не для воздушного потока), и я был очень заинтригован идеей.
Поэтому, когда я начал думать о том, как легко пробежу воздушный поток DEV, ветер был на вершине моего списка.
- Доклеированные подписываются для «бега на виртуальной машине без удара на ваш компьютер» (называется хостом, а VM является гостем). «Ну, нет влияния рядом с потреблением процессора и оперативной памяти 😕
Предварительные условия
Я бегаю по воздуху/ветру, используя WLS2 на Windows 10, люди, использующие MAC или машину Linux, вероятно, будут иметь более гладкий опыт, чем я, но WLS2 с Ubuntu довольно хорош (если вы находитесь в Windows 10 WLS2 Настройка WLS2 покрыта Здесь ) И бриз легче проходит легче в поле Linux (или Mac).
Что вам нужно:
- Установить Докер
- Установить Docker Compose
- Установите Git (это обычно уже установлено)
В моем случае я установил все эти инструменты в моем Ubuntu WSL.
Установка и первый запуск
Клонировать репозиторий воздушного потока из GitHub с:
git clone git@github.com:apache/airflow.git
После скачания REPO перейдите в папку AirFlow и запустите Breeze:
cd airflow ./breeze start-airflow
Breeze скачат несколько изображений Docker и спросит вас, хотите ли вы построить некоторые из них, просто скажите «Да», когда спросили (вы можете использовать флаги --ase-да
или --предполагать- нет
Если вы найдете это раздражение). Первая сборка может занять несколько минут, в зависимости от вашего интернет-скорости и машины.
Если все идет как ожидалось, вы должны увидеть такой экран:
” Я люблю это, когда план состоится вместе »
Поздравляем, ваш воздушный поток работает и работает.
Если вы идете в http://localhost: 28080/ Вы увидите интернет-интерфейс воздушного потока. Учетные данные по умолчанию – admin/admin.
.
Имя пользователя: admin – пароль: админ
Как это использовать?
То, что вы видите, три TMUX Стесы (TMUX – это инструмент Linux для создания терминальной сеансы и разделить его в нескольких частях, называемых панелями). В левом нижнем углу у вас есть планировщик воздушного потока, который заботится о бегах, справа Веб-сервер ждет, когда вы посетите веб-интерфейс AirFlow. Верхняя панель – запускать дополнительные команды.
Если вы нажмете Ctrl + B
сопровождаемый ключ со стрелкой, вы сможете перемещаться между панелями. Не так много нужно делать в нижних панелях, вы можете остановить планировщик и веб-сервер с Ctrl + C. Верхняя часть использует команды CLI Airflow (Run Airflow --help
Если вы хотите узнать больше).
Чтобы быстро выйти из TMUX, запустите следующую команду:
./stop_airflow.sh
Целью наличия этих трех панелей – позволить вам соблюдать то, что происходит в воздушном потоке, и в случае, используйте интерфейс командной строки (хотя это для более продвинутых случаев использования).
Теперь, когда воздушный поток работает, вы можете просто поставить ваши Dags в папку Файлы/Dags
создан в вашей папке репозитория воздушного потока. Если папка не там, Breeze создаст его. DAGS может занять несколько минут, чтобы появиться на веб-пользовательском интерфейсе.
В случае, если синтаксис DAG неверна, нижняя левая панель (веб-сервер один) показывает ошибки.
Несколько дополнительных примечаний:
- Если вы запускаете Breeze с помощью базы данных SQLite в качестве Backend airflow (см. Ниже), эта база данных воссоздана с каждым прогоном. Если вы хотите хранить объекты конфигурации воздушного потока (например, подключения к вашим базам данных, пользователям и т. Д.) Используйте другую ошибку или использовать сценарий инициализации (снова см. Ниже).
- Переменные среды могут быть введены в файл
Файлы/Airflow-Breeze-Config/variables.env
(Создайте его, если нет там), они установлены подготовить среду воздушного потока. - Если вы хотите инициализировать воздушный поток, вы можете поставить файл под названием init.sh В папке
Файлы/Airflow-Breeze-Config
Отказ Инструкции в этом файле будут выполняться до начала планирования воздушного потока и запуска веб-сервера.
Некоторые детали и рецепты
Start-Airflow
Команда предоставляет простой способ начать воздушный поток и отслеживать его. За сценой Breeze инициализируйте базу данных BackeND AIRFLOW и создайте пользователь администратора, который можно использовать для вохода в веб-интерфейс веб-интерфейса (учетные данные admin/admin
).
Рецепт 1 – постоянный бэкэнд
Как уже упоминалось выше, база данных по умолчанию воссоздается с каждым исполнением, если вы хотите иметь что-то более постоянное, вы можете использовать другую бэкэнду, например PostgreSQL:
./breeze start-airflow -b postgres
Это запускает дополнительный контейнер с базой данных, предназначенной для воздушного потока. Теперь ваши изменения выдержит перезапуск.
Рецепт 2 – другая версия воздушного потока
По умолчанию Breeze начнет самую последнюю версию воздушного потока (в настоящее время 2.0.0DEV), которая, вероятно, отличается от того, что у вас есть в производстве. Хорошо, что ветер позволяет вам выбрать вашу необходимую версию с другим флагом:
./breeze start-airflow --install-airflow-version 1.10.10
Конечно, вы можете составить несколько флагов:
./breeze start-airflow --install-airflow-version 1.10.10 -b postgres
Не стесняйтесь идти вперед и изучить другой Возможные флаги Отказ
Рецепт 3 – Инициализируйте воздушный поток с собственным подключением к базе данных
Один из способов сделать это – использовать устойчивую бэкэнд, вы можете добавить ваше соединение в веб-интерфейсе и использовать его. По крайней мере, это то, что я делал, когда я впервые начал использовать воздушный поток.
Более интересный подход – использовать дополнительный скрипт инициализации для Breeze для создания соединения. Это будет легче поддерживать соединения и другие настройки воздушного потока, плюс вы можете хранить этот файл в вашем инструменте управления версиями (E.g. Git).
Вот пример init.sh
файл:
# Connections airflow connections add \ --conn-login my_user \ --conn-password my_pwd \ --conn-type jdbc \ --conn-host localhost \ --conn-port 9457 \ --conn-extra {} \ my_connection # Variable airflow variables set my_variable variable_content
Использование этого файла создаст подключение JDBC под названием my_connection
и переменная называется my_variable
Отказ Вы можете увидеть их в веб-пользовательском интерфейсе, нажав на соответствующий раздел в администратере меню.
Главной точкой Breeze состояла в том, чтобы обеспечить простой способ запустить автоматические тесты для основных разработчиков воздушных потоков, народ, строительство воздушного потока не с воздушным потоком. Цель Бриза состоит в том, чтобы уложить фундамент, чтобы легко запускать воздушный поток, заботясь:
- Запустите необходимые контейнеры докеров
- Выкрывайте порты для компонентов воздушных потоков (например, Weberver и Baseend базу данных)
- Предоставьте удобный способ запуска нового кода в воздушном потоке (например, поставить DAGS в
Файлы/DAGS
) - В конце концов запустить тесты
Эти особенности были слишком интересны, чтобы оставить их только к основным разработчикам;)
Но это не все, если вы хотите узнать больше о возможностях, предлагаемых Breeze Я предлагаю вам взглянуть на это видео ( Airflow Breeze – Разработка и тестовая среда FRO Apache Airflow ); Это не сделает ваши даги лучше, но даст вам больше идей о том, как использовать Breeze и новую среду DEV.
Если вы все еще здесь, не стесняйтесь оставить комментарий и предоставить свой отзыв. Я буду рад помочь вам и ответить на ваши вопросы (если я могу).
Если вам нужна поддержка или помощь, не стесняйтесь обращаться со мной в комментарии или прямых сообщениях. В Твиттере вы можете найти меня с обработчиком @mucio Отказ
Если вам нужна более структурированная помощь, хорошие люди в Без названия Data Company (который включает в себя) будет рад помочь вам со всеми вашими потребностями данных.
Оригинал: “https://dev.to/mucio/quickly-setup-airflow-for-development-with-breeze-d8h”