Airflow как инструмент для создания аналитических пайплайнов
Даже небольшим компаниям (от 10 человек) необходимо поддерживать аналитическое хранилище в актуальном состоянии. То есть, необходимо ежедневно (а иногда и ежеминутно) обновлять данные, а также контролировать частоту данных с помощью тестов. Многие задачи также требуют регулярных выгрузок/рассылок/алертов и т.д.
Одним из способов решения этой задачи является Airflow — инструмент, который позволяет создавать пайплайны с заданной последовательностью задач и заданным расписанием.
Airflow дает возможность создавать пайплайны для обновления хранилища. Так, эти пайплайны позволят вам постоянно обновлять информацию по заданному вами расписанию. При этом программа сама считывает последний входящий в нее ID и выгружает лишь новые данные, не повторяя одно и то же с разных ID.
Как вы знаете, большинство источников данных (таких как amoCRM, Google Disk и т.д.) не являются базами данных как таковыми. В Airflow есть функция, которая позволяет создавать кастомные операторы (или хуки) для того, чтобы можно было подключиться к источникам данных, а потом их автоматически перенести в Airflow.
Также можно создавать пайплайны, которые автоматически будут отправлять отчетность в Slack или на почту. Кстати, в Airflow уже есть готовые операторы, которые позволят вам это сделать без труда. Также открыта возможность создания пайплайнов для предоставления прав пользователям на новые таблицы в схемах. Кроме того, Airflow работает как лего: можно создавать любые последовательности задач, собирать данные из любых источников, писать своих кастомных операторов или хуков.
Последнее, но не менее важное: Airflow снабжен специальной функцией, которая предупреждает о сбоях в обновлениях, об упавших пайплайнов или упавших тестов на качество данных. Поэтому вы никогда не столкнетесь с проблемой, что ваша информация по какой-то причине длительное время не обновлялась, и вы потеряли много данных.
Подводя итоги, надеюсь я достаточно подробно описала преимущества Airflow, которые делают его отличным выбором для периода скейлинга и трансформации, особенно для небольших, но быстро растущих команд.