Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
Привет!
Предлагаю тут обмениваться опытом, идеями, бест-практикс по использованию Apache Airflow. Задавать вопросы опять же...
Ссылка на документацию.
Ссылка на github проекта.

Почему я его использую:
- Бесплатный, при этом очень активно развивается.
- Из коробки доступен достаточно удобный веб-интерфейс.
- Вся логика построения ETL пайплайнов строится кодом на Python (мне всегда проще было понять код, чем разбираться в гуях).
- Нравится идея шаблонизации основных задач в hook/operator/sensor.

При этом есть и минусы:
- Сырой!
- Зачастую его поведение непонятно.
- Работает на Python, что очень усложняет контроль ресурсов сервера (вынужден использовать докер-контейнеры с лимитами по cpu/memory).


Хочу спросить у коллег, кто также использует этот продукт:
- Как вы реализуете процесс версионирования/патчинга ETL-процедур (dags)?
- Как вы дорабатываете хуки-операторы под себя, используете механизм плагинов?
12 дек 17, 11:02    [21026228]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3434
он по хадуп чтоли заточен?
или под что-то реляционное тоже?
12 дек 17, 11:22    [21026328]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
Ivan Durak,

Он может работать на любых источниках данных.
Взаимодействие осуществляется через так называемые Hook'и - интерфейсы к БД (oracle, mysql, postgres, vertica etc), к Hadoop (sqoop, hive, spark), к файловым системам (ssh, aws). Хуки знают как подключиться к источнику данных.
Над хуками строятся операторы, которые уже могут что-то сделать с подключенным источником данных:
- запустить SQL-запрос над БД;
- извлечь результаты SQL-запроса в локальный CSV-файл или в pandas dataframe;
- скопировать файл с удаленной файловой системы по sftp;
- запустить Hive-запрос;
- запустить Sqoop-оператор
и т.д.

Оперируя этими имеющимися операторами можно строить свой пайплайн. При этом никто не мешает создать свой мега-оператор, в котором зашита типовая логика (например, объединить оператор выгрузки таблицы из Postgres в локальный CSV-файл; оператор копирования по ssh этого CSV-файл на локальную файловую систему; оператор копирования CSV-файла в hdfs; оператор Hive-запроса над внешней таблицей, замапленной на CSV-файл). И использовать уже его.
12 дек 17, 11:45    [21026456]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Sintetik
Member

Откуда: SpB->Msk->...
Сообщений: 8970
Jack Carver
- Сырой!
- Зачастую его поведение непонятно.

вам платят за работу тестером? или много свободного времени?

имхо нет смысла тратить бесплатно свое время на софт, который не завоевал значимую долю рынка, не стал зрелым, вот станет, освоим за неделю
18 дек 17, 19:40    [21043734]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
haXbat
Member

Откуда:
Сообщений: 445
Jack Carver,

А сравнивал его со StreamSets/NiFi? Эти оба тула пока тоже сыроваты, однако включены в дистрибутивы от Cloudera/Hortonworks.
19 дек 17, 17:54    [21046512]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5113
Jack Carver,

если так нравится делать ETL кодом и нравится пайтон отчего не Bonobo?
19 дек 17, 22:04    [21047048]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Voyager_lan
Member

Откуда:
Сообщений: 1451
Sintetik,

Не могу не согласиться
20 дек 17, 09:37    [21047639]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
Sintetik,

Сырой, но при этом его функционала вполне достаточно для решения всех обозримых задач.
Про непонятное поведение - тут проблема скорее во мне самом, либо в качестве contrib-кода; сейчас все необходимые операторы (для Sqoop, WebHDFS, HiveCli) дописаны нашей командой и работают стабильно.

Да, этот софт не используется повсеместно. Гораздо проще поставить и использовать ODI, не парясь о лицензиях.
Но тем не менее - список компаний, официально применяющих Airflow уже немал.
20 дек 17, 11:08    [21047951]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
haXbat,

NiFi хорош для потоковых обработок. И его тяжело применять для батчей.
Тогда как AIrflow хорош именно в контексте запуска раз в месяц/сутки/час каких-то длительных ресурсоемких задач.
Например, раз в месяц переложить терабайтную витрину из Оракла в Hive; раз в сутки перенести данные из Hive-таблицы над CSV-файлами в Hive-таблицу над parquet.
Для потоковой обработки мы пока применяем Flume, но смотрим в сторону NiFi (оттолкнули пляски с parcel'ом для вкрячивания NiFi в Cloudera)
20 дек 17, 11:13    [21047967]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
Дедушка,

Насколько я могу судить, Bonobo - это фреймворк для написания ETL-пайплайнов. Тогда как Airflow - это еще и шедулер, кластер исполняемых узлов, веб-морда.
20 дек 17, 12:01    [21048116]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Sintetik
Member

Откуда: SpB->Msk->...
Сообщений: 8970
Jack Carver
Гораздо проще поставить и использовать ODI, не парясь о лицензиях.

еще проще поднять Talend или Pentaho и не париться о лицензиях официально
20 дек 17, 14:29    [21048729]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
GEP442
Member

Откуда:
Сообщений: 69
Jack Carver
Гораздо проще поставить и использовать ODI, не парясь о лицензиях.


ODI в смысле бесплатный?
28 дек 17, 09:27    [21068810]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
GEP442,

ODI как раз совсем не бесплатный. Но когда это мешало при использовании программного обеспечения компании Oracle...
10 янв 18, 13:20    [21093171]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Jack Carver
Member

Откуда: obi2ru.blogspot.com
Сообщений: 1712
Группа в Телеграме - https://t.me/ruairflow
25 янв 18, 09:30    [21136778]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 954
Jack Carver,

а можно как то пощупать airflow под виндой
или толкьо под юниксами ?
pip install apache-airflow

https://airflow.apache.org/installation.html#getting-airflow

вроде даже проактило
но гуи как вызвать ??
23 фев 18, 16:17    [21213987]     Ответить | Цитировать Сообщить модератору
 Re: Apache Airflow для ETL  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5113
Гулин Федор
но гуи как вызвать ??
если по дефолту, то вроде так localhost:8080/admin/
23 фев 18, 17:42    [21214189]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить