Управление пайплайнами
- Перед началом работы
- Создание кластера Apache Airflow™
- Доступ сервисного аккаунта
- Добавление пайплайна
- Просмотр списка пайплайнов
- Включение и остановка пайплайна
- Ручной запуск пайплайна
- Пересчет данных за прошлые периоды (Backfill)
- Просмотр запусков и задач
- Просмотр логов и XCom
- Управление запусками
- Просмотр кода и параметров пайплайна
- Ошибки загрузки DAG-файлов
- Проверка состояния кластера
В разделе Оркестратор можно управлять выполнением DAG в Apache Airflow™: запускать обработку данных вручную и по расписанию, пересчитывать данные за прошлые периоды и находить причины ошибок.
Перед началом работы
Подготовьте:
- Окружение DataLens Platform.
- Репозиторий Git с DAG-файлами и SSH-ключ для доступа к нему.
- Коллекцию, в которой будет размещен кластер Apache Airflow™. Убедитесь, что у вас есть права на создание объектов в ней.
Для работы с существующим кластером получите права на нужные действия с кластером или коллекцией, в которой он размещен. Если отображается сообщение об отсутствии доступа, обратитесь к администратору.
Перед запуском пайплайнов проверьте права сервисного аккаунта кластера на используемые данные и вычисления.
Создание кластера Apache Airflow™
Если кластер уже создан, перейдите к добавлению пайплайна.
Чтобы создать кластер:
-
На панели слева выберите Оркестратор и нажмите Подключить Airflow.
-
В блоке Основные настройки укажите параметры Git-репозитория:
- Адрес репозитория — адрес для подключения по SSH.
- Путь до папки с файлами — путь к папке с DAG-файлами в Git-репозитории.
- Ветка — ветка, из которой нужно загружать DAG-файлы.
- SSH-ключ — содержимое закрытого ключа. Соответствующий открытый ключ должен предоставлять доступ на чтение Git-репозитория.
-
В поле Окружение выберите подготовленное окружение или создайте новое.
Кластер Apache Airflow™ и объекты платформы, с которыми будут работать его пайплайны, должны находиться в одном облаке и в одном окружении.
-
Если для выполнения DAG нужны дополнительные зависимости Python, в блоке Другие настройки заполните поле Pip-пакеты. Укажите каждую зависимость на отдельной строке: название пакета или название с точной версией через
==. Можно указать дополнительные компоненты пакета, например:numpy requests[security,socks] -
Нажмите Создать кластер.
-
В окне Выберите коллекцию выберите место для кластера и нажмите Создать кластер.
-
Дождитесь завершения операции. После создания кластера откроется список пайплайнов.
Версии Apache Airflow™ и Python задаются сервисом.
Доступ сервисного аккаунта
Сервисный аккаунт создается автоматически вместе с кластером и используется всеми его пайплайнами. Если пайплайн обращается к объектам DataLens Platform, аккаунту нужны права на эти объекты. Например, для выполнения сохраненного SQL-запроса требуется доступ к скрипту, подключению, используемым данным и вычислениям в кластере Trino. Для задач Apache Spark™ нужны права на данные и вычисления в соответствующем кластере. Права пользователя на управление пайплайнами не заменяют права сервисного аккаунта.
Чтобы найти сервисный аккаунт кластера и перейти к запросу доступа:
- На панели слева выберите Оркестратор.
- В верхней части страницы найдите карточку Сервисный аккаунт. В ней указан идентификатор аккаунта, от имени которого выполняются задачи пайплайнов.
- В карточке нажмите значок
и выберите Запросить доступ.
Подробнее о настройке прав доступа к объектам.
Добавление пайплайна
Пайплайн описывается в DAG-файле: в нем задаются задачи, зависимости между ними и расписание. Apache Airflow™ загружает DAG-файлы из Git-репозитория, подключенного к кластеру.
Чтобы добавить пайплайн:
- Подготовьте DAG-файл с описанием обработки данных.
- Добавьте файл в папку Git-репозитория, указанную при создании кластера. Используйте выбранную для кластера ветку.
- Отправьте изменения в Git-репозиторий и дождитесь синхронизации с кластером.
- В DataLens Platform откройте раздел Оркестратор и найдите добавленный пайплайн на вкладке Пайплайны.
Если пайплайн не появился, проверьте ошибки загрузки DAG-файлов.
Просмотр списка пайплайнов
Чтобы открыть список, на панели слева выберите Оркестратор. В верхней части страницы отображаются карточки:
- Кластер Apache Airflow™ — название кластера, версия Apache Airflow™ и состояние, например Работает.
- Сервисный аккаунт — идентификатор аккаунта для выполнения задач пайплайнов. В меню карточки доступно действие Запросить доступ.
- Git-репозиторий — ссылка на подключенный репозиторий и название ветки с DAG-файлами.
На странице доступны вкладки:
- Пайплайны — список загруженных DAG.
- Запуски пайплайнов — история выполнения всех пайплайнов.
- Запуски задач — история выполнения отдельных задач.
Чтобы найти пайплайн, на вкладке Пайплайны введите его название в поле Поиск по названию. Используйте фильтры Активные и Остановленные, чтобы отобрать пайплайны по состоянию. Для снятия фильтра по состоянию выберите Все. Дополнительно доступны фильтры Последний запуск и Фильтр по тегу.
Для быстрого перехода к недавно открытым или избранным пайплайнам используйте Недавние и Избранные. Чтобы добавить пайплайн в избранное, нажмите значок
В таблице отображаются название, статус и описание пайплайна, расписание, следующий и последний запуски. В столбце Последний запуск можно проверить результат выполнения и перейти к запуску по ссылке с датой. Чтобы настроить столбцы таблицы, нажмите значок
Для перехода к пайплайну нажмите на его название. В верхней части страницы пайплайна отображаются расписание, последний и следующий запуски, теги и последняя версия.
Включение и остановка пайплайна
Чтобы включить пайплайн:
- На панели слева выберите Оркестратор и перейдите на вкладку Пайплайны.
- Найдите пайплайн и включите переключатель в его строке.
Apache Airflow™ будет создавать запуски в соответствии с расписанием из DAG-файла. Чтобы изменить расписание, обновите файл в хранилище DAG-файлов кластера и дождитесь синхронизации.
Чтобы остановить пайплайн, выключите переключатель в списке или откройте страницу пайплайна и в правом верхнем углу нажмите Остановить. Новые запуски по расписанию будут отключены, а уже запущенные задачи продолжат выполняться.
Для возобновления работы включите переключатель. При активации пайплайна могут создаваться запуски за пропущенные периоды — это зависит от параметра catchup в DAG-файле. Подробнее о нем в документации Apache Airflow™
Ручной запуск пайплайна
Чтобы запустить пайплайн вручную:
- На панели слева выберите Оркестратор, перейдите на вкладку Пайплайны и найдите нужный пайплайн.
- Если пайплайн остановлен, включите его.
- Откройте пайплайн, перейдите на вкладку Запуски и нажмите Ручной запуск.
- В поле Тип запуска выберите Ручной запуск.
- Укажите Логическую дату запуска. Она используется в контексте DAG и может отличаться от фактического времени выполнения. Это поле не задает время отложенного запуска.
- Если пайплайн принимает параметры, укажите их в поле Конфигурация JSON. Состав параметров определяется кодом DAG.
- Нажмите Запустить.
- Найдите созданный запуск на вкладке Запуски и проверьте его статус.
Подробнее о логической дате и передаче параметров в документации Apache Airflow™
Пересчет данных за прошлые периоды (Backfill)
Backfill создает запуски пайплайна за выбранный период по расписанию из DAG-файла. Используйте его, чтобы обработать пропущенные данные или повторить обработку за прошлые даты. Для Backfill у DAG должно быть расписание по времени.
Чтобы создать Backfill:
-
На панели слева выберите Оркестратор, перейдите на вкладку Пайплайны и найдите нужный пайплайн.
-
Если пайплайн остановлен, включите его.
-
Откройте пайплайн, перейдите на вкладку Запуски и нажмите Ручной запуск.
-
В поле Тип запуска выберите Backfill.
-
В поле Период задайте начальную и конечную даты.
-
В поле Какие запуски создать выберите режим обработки:
- Отсутствующие — создать только отсутствующие запуски.
- Отсутствующие и с ошибками — создать отсутствующие запуски и повторить завершившиеся с ошибкой.
- Все — создать отсутствующие запуски и повторить все завершенные, включая успешные.
-
В поле Макс. активных запусков задайте ограничение на количество одновременных запусков Backfill.
-
При необходимости включите опции:
- Запускать в обратном порядке — чтобы сначала обрабатывать более поздние даты.
- Запускать на последней версии пакета — чтобы использовать последнюю версию кода.
-
Нажмите Запустить.
-
Чтобы проверить созданный Backfill, откройте вкладку Backfills на странице пайплайна. Отдельные запуски также доступны на вкладке Запуски с фильтром Тип запуска → Backfill.
Если запуск за выбранную логическую дату уже выполняется или находится в очереди, новый запуск за эту дату не создается. Подробнее о режимах пересчета в документации Apache Airflow™
Просмотр запусков и задач
Чтобы проверить выполнение пайплайна:
- На панели слева выберите Оркестратор, перейдите на вкладку Пайплайны и найдите нужный пайплайн.
- Откройте пайплайн и перейдите на вкладку Запуски.
- Выберите период. При необходимости используйте поиск, фильтры Статус и Тип запуска.
- Выберите строку запуска в таблице. На графе справа отобразятся задачи и их состояния для выбранного запуска. Запуск также можно выбрать в списке над графом.
- Чтобы открыть подробности запуска, нажмите на его идентификатор в таблице слева.
На странице запуска отображаются его статус, тип, время выполнения, длительность, логическая дата и версия, а также список задач. Чтобы разобраться в ошибке отдельной задачи, откройте ее в этом списке. Подробную информацию о просмотре логов можно найти в разделе Просмотр логов и XCom.
Для просмотра структуры пайплайна перейдите на вкладку Задачи. В таблице отображаются имена задач, правила их запуска, максимальное количество попыток и операторы. Выберите задачу в таблице, чтобы выделить ее на графе. Группы задач отображаются отдельными блоками.
Чтобы просмотреть историю сразу по всем пайплайнам, вернитесь в раздел Оркестратор и откройте вкладку Запуски пайплайнов или Запуски задач.
Просмотр логов и XCom
Чтобы найти причину ошибки задачи:
- Откройте страницу запуска пайплайна.
- В списке задач выберите нужную задачу и перейдите в нее.
- На вкладке Логи выберите попытку выполнения, если их было несколько.
- При необходимости отфильтруйте сообщения по уровню и источнику с помощью списков Все уровни и Все источники.
- Изучите сообщения об ошибках. Чтобы изменить отображение логов, нажмите Настройки логов.
Чтобы сохранить логи в файл, нажмите
На вкладке XCom можно просмотреть значения, которые задача передала через механизм обмена данными Apache Airflow™. Подробнее о нем в документации Apache Airflow™
Управление запусками
Чтобы просмотреть действия с существующими запусками, на панели слева выберите Оркестратор → вкладка Запуски пайплайнов →
Перезапуск
Чтобы повторить выполнение запуска:
- Найдите запуск и в его меню выберите Перезапустить.
- В открывшемся окне подтвердите перезапуск.
Состояния задач этого запуска будут сброшены, и задачи будут запущены заново.
Изменение статуса
Чтобы вручную изменить статус запуска:
- Найдите запуск и в его меню выберите Изменить статус.
- В блоке Новый статус выберите Успешно или Ошибка.
- При необходимости заполните поле Комментарий.
- Нажмите Изменить статус.
Примечание
Ручное изменение статуса само по себе не выполняет обработку данных и не исправляет причину ошибки.
Удаление запуска
Важно
Запуск и связанные с ним сведения в Apache Airflow™ удаляются без возможности восстановления.
Чтобы удалить запуск:
- Найдите запуск и в его меню выберите Удалить.
- В открывшемся окне подтвердите удаление.
Просмотр кода и параметров пайплайна
Чтобы просмотреть DAG-файл, откройте пайплайн и перейдите на вкладку Код. Для изменения логики обработки, состава задач или расписания обновите файл в хранилище DAG-файлов кластера и дождитесь синхронизации.
Чтобы просмотреть параметры пайплайна и статистику его выполнения, перейдите на вкладку Детали.
Ошибки загрузки DAG-файлов
Если в DAG-файле есть ошибка или для его загрузки не хватает зависимости, пайплайн может не появиться в списке. В разделе Оркестратор отображается сообщение Ошибки загрузки DAG-файлов, даже если не загрузился ни один пайплайн.
Чтобы просмотреть ошибки:
- В сообщении об ошибках нажмите Подробнее.
- В открывшемся окне найдите файл с помощью поля Поиск по файлу.
- Разверните запись с именем файла. Проверьте время ошибки, название пакета и трассировку стека.
- Исправьте код или зависимости и дождитесь повторной загрузки DAG-файла.
- Убедитесь, что ошибка исчезла, а пайплайн появился в списке.
Проверка состояния кластера
Чтобы проверить состояние Apache Airflow™, на панели слева нажмите Оркестратор и наведите указатель на статус в карточке кластера. В подсказке отображается состояние компонентов:
- База метаданных;
- Планировщик;
- Триггер;
- DAG-процессор.
Если данные не удалось загрузить и отображается кнопка Повторить, нажмите ее. Если ошибка сохраняется, передайте администратору сведения о недоступных компонентах и текст сообщения об ошибке.