[Документация Yandex Cloud](../../../../index.md) > [Yandex DataLens](../../../index.md) > [Yandex DataLens Platform](../../index.md) > Пайплайны > Обзор

# Пайплайны в Yandex DataLens Platform

_Пайплайн_ — описание процесса обработки данных: какие действия нужно выполнить, в каком порядке и при каких условиях. Пайплайны помогают автоматизировать повторяющиеся операции, например проверять исходные данные, преобразовывать их и подготавливать таблицы для анализа.

В Yandex DataLens Platform пайплайнами управляет Apache Airflow™ — платформа для создания, планирования и мониторинга рабочих процессов. Пайплайны на Apache Airflow™ предназначены для пакетной обработки данных. В разделе ![image](../../../../_assets/router.svg) **Оркестратор** можно просматривать структуру процессов, запускать их, отслеживать выполнение и находить причины ошибок.

[Поставки данных](../data-transfer/index.md) позволяют загрузить данные из источников в REST-каталог. С помощью пайплайнов можно организовать дальнейшую обработку: связать несколько операций в общий процесс, задать зависимости между ними и регулярно обновлять итоговые таблицы.

## Задачи и зависимости {#tasks-and-dependencies}

В Apache Airflow™ пайплайн описывается как _DAG_ (Directed Acyclic Graph) — направленный ациклический граф. Его вершины — _задачи_, а связи между ними задают зависимости и порядок выполнения. Задача представляет собой отдельное действие, например выполнение SQL-запроса или обработку данных с помощью Apache Spark™.

Зависимости позволяют согласовать выполнение задач. Например, проверка данных должна завершиться перед их преобразованием, а итоговую таблицу можно подготовить после завершения всех необходимых преобразований. Условия запуска задач задаются в DAG. Задачи, которые не зависят друг от друга, могут выполняться параллельно.

Для удобства просмотра связанные задачи в коде DAG можно объединять в _группы задач_. В интерфейсе группы отображаются отдельными блоками графа. Подробнее об устройстве DAG в [документации Apache Airflow™](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dags.html).

## Описание и выполнение пайплайна {#definition-and-execution}

Пайплайны описываются в файлах Python — _DAG-файлах_. В них задаются задачи, зависимости, расписание и параметры выполнения. Код готовят в редакторе или локальной среде разработки и сохраняют в репозитории Git, подключенном к кластеру Apache Airflow™. Кластер загружает DAG-файлы из указанной папки в выбранной ветке репозитория.

Такой подход называется _Workflows as code_ — описание рабочих процессов в виде кода. Он позволяет хранить историю изменений пайплайна в системе контроля версий, проверять изменения и тестировать код перед использованием.


Чтобы изменить логику обработки, состав задач или расписание, обновите файл в хранилище DAG-файлов кластера. После синхронизации изменения становятся доступны в Apache Airflow™. Подробнее в инструкции [Добавление пайплайна](../../operations/airflow/manage-airflow.md#add-pipeline).

Кластер Apache Airflow™ управляет выполнением пайплайнов: учитывает расписание и зависимости, запускает задачи и отслеживает их состояние. Задачи могут обращаться к другим компонентам DataLens Platform, например выполнять SQL-запросы в кластере Trino или запускать обработку данных в кластере Apache Spark™. Для работы с пайплайнами [создайте кластер Apache Airflow™](../../operations/airflow/manage-airflow.md#create-cluster) в подготовленном окружении.

Кластеры Apache Airflow™, Trino и Apache Spark™, а также REST-каталоги, используемые пайплайнами, должны находиться в одном облаке и в одном окружении.

## Запуски пайплайна {#runs}

_Запуск пайплайна_ — отдельное выполнение DAG. У одного пайплайна может быть много запусков, каждый со своим статусом и временем выполнения. Внутри запуска отслеживается выполнение отдельных задач. Если задача выполняется повторно, для нее сохраняется история попыток.

Пайплайны можно запускать [вручную](../../operations/airflow/manage-airflow.md#run-pipeline) или по расписанию, заданному в DAG-файле. Ручной запуск подходит для проверки пайплайна или обработки данных по запросу. Расписание позволяет выполнять обработку регулярно, например каждый день.

Для обработки данных за прошлые периоды используется _backfill_. Он создает запуски за выбранный период по расписанию DAG. Backfill помогает восстановить пропущенные запуски или пересчитать данные после изменения логики обработки. Подробнее в инструкции [Пересчет данных за прошлые периоды](../../operations/airflow/manage-airflow.md#backfill).

Состояние пайплайна определяет, создаются ли новые запуски по расписанию. Если пайплайн остановлен, новые запуски по расписанию не создаются, а уже выполняющиеся задачи продолжают работу. Подробнее в инструкции [Включение и остановка пайплайна](../../operations/airflow/manage-airflow.md#activate-pipeline).

## Контроль выполнения {#monitoring}

В интерфейсе DataLens Platform доступны история запусков и граф задач. На графе отображаются состояния задач выбранного запуска. Можно проверить выполнение всего пайплайна или перейти к отдельной задаче.

Для поиска причин ошибок используются _логи_ задач. При просмотре логов можно выбрать попытку выполнения и отфильтровать сообщения по уровню и источнику. Ошибки загрузки DAG-файлов отображаются отдельно: они могут помешать появлению пайплайна в списке еще до первого запуска. Подробнее в инструкциях [Просмотр запусков и задач](../../operations/airflow/manage-airflow.md#view-runs), [Просмотр логов и XCom](../../operations/airflow/manage-airflow.md#view-logs) и [Ошибки загрузки DAG-файлов](../../operations/airflow/manage-airflow.md#dag-import-errors).

## Доступ к пайплайнам и данным {#access}

Кластер Apache Airflow™ размещается в коллекции. Возможность работы пользователя с пайплайнами определяется [доступом к кластеру и коллекции](../../security/roles.md#object-roles), в которой он размещен.

При создании кластера автоматически создается _сервисный аккаунт_ — один для всех его пайплайнов. От его имени задачи обращаются к объектам DataLens Platform. Аккаунту нужны права на используемые данные и объекты в коллекциях: подключения, сохраненные скрипты и вычислительные кластеры. Права пользователя на управление пайплайнами и права сервисного аккаунта на выполнение задач настраиваются отдельно.

Идентификатор сервисного аккаунта отображается в одноименной карточке на странице **Оркестратор**. Из меню карточки можно [перейти к запросу доступа](../../operations/airflow/manage-airflow.md#service-account-access).