powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Apache Airflow для ETL
53 сообщений из 53, показаны все 3 страниц
Apache Airflow для ETL
    #39568163
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Предлагаю тут обмениваться опытом, идеями, бест-практикс по использованию Apache Airflow. Задавать вопросы опять же...
Ссылка на документацию.
Ссылка на github проекта.

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

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


Хочу спросить у коллег, кто также использует этот продукт:
- Как вы реализуете процесс версионирования/патчинга ETL-процедур (dags)?
- Как вы дорабатываете хуки-операторы под себя, используете механизм плагинов?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39568195
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он по хадуп чтоли заточен?
или под что-то реляционное тоже?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39568216
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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-файл). И использовать уже его.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39571634
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack Carver- Сырой!
- Зачастую его поведение непонятно.
вам платят за работу тестером? или много свободного времени?

имхо нет смысла тратить бесплатно свое время на софт, который не завоевал значимую долю рынка, не стал зрелым, вот станет, освоим за неделю
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572209
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack Carver,

А сравнивал его со StreamSets/NiFi? Эти оба тула пока тоже сыроваты, однако включены в дистрибутивы от Cloudera/Hortonworks.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572314
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack Carver,

если так нравится делать ETL кодом и нравится пайтон отчего не Bonobo?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572470
Voyager_lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetik,

Не могу не согласиться
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572563
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sintetik,

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

Да, этот софт не используется повсеместно. Гораздо проще поставить и использовать ODI, не парясь о лицензиях.
Но тем не менее - список компаний , официально применяющих Airflow уже немал.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572567
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

NiFi хорош для потоковых обработок. И его тяжело применять для батчей.
Тогда как AIrflow хорош именно в контексте запуска раз в месяц/сутки/час каких-то длительных ресурсоемких задач.
Например, раз в месяц переложить терабайтную витрину из Оракла в Hive; раз в сутки перенести данные из Hive-таблицы над CSV-файлами в Hive-таблицу над parquet.
Для потоковой обработки мы пока применяем Flume, но смотрим в сторону NiFi (оттолкнули пляски с parcel'ом для вкрячивания NiFi в Cloudera)
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572617
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дедушка,

Насколько я могу судить, Bonobo - это фреймворк для написания ETL-пайплайнов. Тогда как Airflow - это еще и шедулер, кластер исполняемых узлов, веб-морда.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39572752
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack CarverГораздо проще поставить и использовать ODI, не парясь о лицензиях.
еще проще поднять Talend или Pentaho и не париться о лицензиях официально
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39577263
GEP442
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack CarverГораздо проще поставить и использовать ODI, не парясь о лицензиях.

ODI в смысле бесплатный?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39581691
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GEP442,

ODI как раз совсем не бесплатный. Но когда это мешало при использовании программного обеспечения компании Oracle...
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39590626
Jack Carver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Группа в Телеграме - https://t.me/ruairflow
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39606568
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack Carver,

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

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

вроде даже проактило
но гуи как вызвать ??
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #39606593
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федорно гуи как вызвать ??если по дефолту, то вроде так localhost:8080/admin/
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Apache Airflow для ETL
    #39917577
Andruhaaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jack Carver,

Просто сначала начни с демо тут http://choose.tools/tool?id=Airflow
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Apache Airflow для ETL
    #40106013
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подниму тему вопросом. Читаю доки, написано, что лучше трансформацию данеых в dag-е не делать, что бы не жрал память, а вызывать заранее созданный на python файл в котором сделать необходимую обработку. Это так? Есть какие то ещё рекомендации?
Ещё вопрос если нужно передавать параметры(переменные) между подпрограммами обработки данных, то как это лучше сделать, через переменные airflow или ещё как то?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106123
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAG это ациклический граф - в нём обработку данных не получится сделать

А для обработки, да, отдельный питон. Или эскуэль обработка в базе, как при ELT
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106173
2wheels
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, все правильно. К тому же примерно раз в минуту py-файлы парсятся внутренним движком Airflow, и лишний код может вызвать проблемы.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106174
2wheels
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а, по передаче параметров. Все зависит от размеров передаваемого датасета. Там есть ограничения в зависимости от СУБД, которая используется для хранения метаданных Airflow. Может получиться так, что проще и быстрее выгружать обработанные данные в Parquet или Avro, и обрабатывать их потом в следующем шаге.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106259
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wheels,

Спасибо за наводку на apache parquet, очень полезная штука для замены промежуточных csv файлов.

Есть в интернете ещё такая тема - переход от энтерпрайз etl на airflow + spark не приходилось никому с этим работать?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106261
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полковник.,

А почему не apache nifi?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106294
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик
Полковник.,

А почему не apache nifi?

Не знаю, я человек маленький, решение принимают где то наверху в архитектурных комитетах, а мне собственно всеравно чем заниматься.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106301
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полковник.


Есть в интернете ещё такая тема - переход от энтерпрайз etl на airflow + spark не приходилось никому с этим работать?

собсна также как и в энтерпрайзе при схеме ELT - airflow дергает скрипты\программы для спарк
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40106302
Бумбараш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик
Полковник.,

А почему не apache nifi?

когда работал 2-3 года с найфаем он был не очень. Простые действия делались какими-то непонятными приседаниями. Смысла его использовать по сравнению с Airflow, который очень простой, я не увидел. По крайней мере для батчевых загрузок точно.
Может быть в задачах стриминга он выглядет более лучше, но их было мало.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40111637
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вы реализуете процесс версионирования/патчинга ETL-процедур (dags)?
GitLab -> CI/CD.
Пушим даг в мастер - он выкатывается в airflow.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112119
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полковник.
Подниму тему вопросом. Читаю доки, написано, что лучше трансформацию данеых в dag-е не делать, что бы не жрал память, а вызывать заранее созданный на python файл в котором сделать необходимую обработку. Это так? Есть какие то ещё рекомендации?
Ещё вопрос если нужно передавать параметры(переменные) между подпрограммами обработки данных, то как это лучше сделать, через переменные airflow или ещё как то?


сам недавно начал новый стак осваивать.
все Tрансформации делаю на уровнях баз
если это MS SQL то соответтсвенно процедурки и т.д.
airflow + python использую сугубо для выстраивания последовательностей запуска.

если datalake типа snowflake сейчас читаю мат часть по DBT(Data Build Tool)

глобальные переменные храню в airflow variables - красиво и секьюрно.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112120
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Бердышев
Как вы реализуете процесс версионирования/патчинга ETL-процедур (dags)?
GitLab -> CI/CD.
Пушим даг в мастер - он выкатывается в airflow.

+1
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112122
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
montoya.,

Подскажи как осуществляешь передачу данных база-база, тоже sql оператором? Хранишь ли данные в промежутке, типа одним таском достал, положил во временное хранение, вторым таском отправил в другую базу из временного хранения, если да, то в каком виде? Или все в одном операторе - достал в курсор, из него отправил в другую базу?
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112198
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полковник.
montoya.,

Подскажи как осуществляешь передачу данных база-база, тоже sql оператором? Хранишь ли данные в промежутке, типа одним таском достал, положил во временное хранение, вторым таском отправил в другую базу из временного хранения, если да, то в каком виде? Или все в одном операторе - достал в курсор, из него отправил в другую базу?


для обмена внутрикорпаративной сети мужду базами пока airflow не гонял, тут по классике на SSIS всё делаю.
но думаю, что я бы врядле строил архитектуру с временным хранением, напрямую бы как-то пулял.

для внешних интеграций сейчас настраиваю обмен между внешним источником данных и snowflake
в данном случае использую промежуточно Azure Blob
т.е. забираю с внешнего источника и без стейджинга пихаю в Blob в том первозданном виде как отдаёт источник.
для приёмника выбрал именно blob так как шо взял то и впихнул, удобно.
для участка snowlake-azure blob - сейчас читаю про DBT, тулза для Трансформации внутри хранилища. именно эта штука обеспечивает гибкую настройку трансформации именно ВНУТРИ хранилища а не в пути где-то.
на финише будет powerBI с источником ввиде snowflake.

опыта пока не много, сам учусь, но тема мне нравиться)
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112200
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для обмена между MS SQL и внешними получателями
тут всё одим оператором
запускаются процедуры на MS SQL
готовят данные
и потом курсором их пихаю или в api или ftp
кому как.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112295
2wheels
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
montoya., посмотри в сторону SnowPipe для загрузки из Azure Blob Storage в Snowflake. В сочетании с Table Stream (фишка Snowflake) работает отлично. Если все-таки не подходит, попробуй External Tables, они дадут существенный прирост в производительности для Parquet-файлов.
по dbt рекомендую вот этот курс: https://www.udemy.com/course/learn-dbt-from-scratch/
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112299
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полковник.
Подскажи как осуществляешь передачу данных база-база, тоже sql оператором? Хранишь ли данные в промежутке, типа одним таском достал, положил во временное хранение, вторым таском отправил в другую базу из временного хранения, если да, то в каком виде? Или все в одном операторе - достал в курсор, из него отправил в другую базу?

Давайте скажем честно - AirFlow это такой cron на стероидах, или open source Control-M. Это не среда производства вычислений, если вам этого хочется - идите к Informatica или NiFi. Еще - вспомнил что каждый такс может запускаться на своем вычислителе, не связанном с предыдущим таском.
Посему - в таске делаете с данными все, в том числе и сохранение в целевое место или буфер. Чтобы потом достать на следующем таске. Если это обмен db-db, то нужен sql оператор который это выполняет. Или через linked server, или через fdw (для postgre), или через pxf (для GreenPlum).
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112315
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferdipux,

Да с этим то в е понятно, у нас запрещено линковать сервера, тем более разные. Поэтому с одной стороны пишут, что хранить данные и обрабатывпть в тасках нельзя, но если надо то можно, примеров таких навалом. Кстати, что такое в этом случае курсор? Прочитал из oracle в курсор, бросил из курсора в postgres, где курсор хранит данные?
ETL использовать нельзя, я писал уже, ищем альтернативу пентахе для себя, мы роемся в данных, ETL есть, но что бы на нем что то делать нужно кучу документов написать и пройти согласований, тогда м.б. через месяц ты получишь данные в своей табличке, а когда на них посмотришь, то поймёшь, что это не та табличка, нужна другая
Трудно все, вообщем.
Я по курсам достаточно много получил информации и много чего уже делаю, но беспрактик тоже нужно у кого то подсмотреть.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112341
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полковник.

Да с этим то в е понятно, у нас запрещено линковать сервера, тем более разные. Поэтому с одной стороны пишут, что хранить данные и обрабатывпть в тасках нельзя, но если надо то можно, примеров таких навалом. Кстати, что такое в этом случае курсор? Прочитал из oracle в курсор, бросил из курсора в postgres, где курсор хранит данные?

курсор в оракле то же самое что и в мсскл, в нем нет данных. это просто описания квери и указатель до куда потребитель вытянул данные.
если не полноценный ETL, то перекинуть данные думаю сейчас лишь 2 способа из простых:
1. питончиком, как я понимаю он вытянет в данные оперативу (датафрейм) и если не вывалится out of memory, сможет этот пандас датафрейм записать в постгрес. вероятно силами одного единственного коннекта.
2. спарком. я такую задачку на коленках решал java+spring+spark и запускал на обычной линуксовой машине. у спарка больше шансов не вывалится с OOM и он сможет в параллель выкачивать/закачивать. схема та же, читайет датафрейм, его же записывает по jdbc. я спарком закачивал стейджинг таблицы, если все хорошо выполнял MERGE statement (стейджинг в target табличку) уже средствами субд
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112343
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полковник.
Поэтому с одной стороны пишут, что хранить данные и обрабатывпть в тасках нельзя, но если надо то можно, примеров таких навалом. Кстати, что такое в этом случае курсор? Прочитал из oracle в курсор, бросил из курсора в postgres, где курсор хранит данные?

Курсор - это надстройка над Psycopg cursor .
Вообще, стукнитесь в e-mail лички, похоже что у нас общие задачи и проблемы :). Будет занятно пообщаться.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112347
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

Буду spark смотреть.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112350
Полковник.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferdipux,

Ну да, я про этот курсор спрашивал.
У меня задачка факультативная, я не могу ей много времени посвящать, поэтому лучше тут обсуждать, чем в личке.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112412
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2wheels
montoya., посмотри в сторону SnowPipe для загрузки из Azure Blob Storage в Snowflake. В сочетании с Table Stream (фишка Snowflake) работает отлично. Если все-таки не подходит, попробуй External Tables, они дадут существенный прирост в производительности для Parquet-файлов.
по dbt рекомендую вот этот курс: https://www.udemy.com/course/learn-dbt-from-scratch/


Спасибо, обязательно почитаю! Меня тема попёрла, аж уснуть не могу))))

Snowpipe, если не ошибаюсь, это приложение как sql console
Я с помощью него большие csv гонял в snowflake с локального сервера.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40112501
2wheels
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
montoya.

Snowpipe, если не ошибаюсь, это приложение как sql console


нет, Snowpipe - это serverless служба для доставки данных. Запускается примерно раз в минуту, проверяет еслть ли новые файлы,и, если есть, грузит данные в таблицы. Там много интересных штук, например Snowpipe хранит метаданные файлов, загруженных за последние 64 дня и по умолчанию пропускает их. Но можно заставить грузить все (COPY INTO ... FORCE = TRUE).
Я делал проект, когда приложение сохраняло JSON в Azure Blob Storage, Snowpipe выгружал данные в Snowflake, а поверх уже были отчеты Power BI.

Вобщем, будут вопросы по Snowflake - willkommen ))
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40115195
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2wheels
montoya.

Snowpipe, если не ошибаюсь, это приложение как sql console


нет, Snowpipe - это serverless служба для доставки данных. Запускается примерно раз в минуту, проверяет еслть ли новые файлы,и, если есть, грузит данные в таблицы. Там много интересных штук, например Snowpipe хранит метаданные файлов, загруженных за последние 64 дня и по умолчанию пропускает их. Но можно заставить грузить все (COPY INTO ... FORCE = TRUE).
Я делал проект, когда приложение сохраняло JSON в Azure Blob Storage, Snowpipe выгружал данные в Snowflake, а поверх уже были отчеты Power BI.

Вобщем, будут вопросы по Snowflake - willkommen ))


спасибо!

курс udemy - прошёл.
ещё раз спасибо, очень понравился курс. особенно порадовала часть с best practice.
если есть ещё что по data engeniring - please send)

и есть вопрос по snowflake + dbt

суть: сейчас я стартую с маленького проекта в snowflake
но в перспективе собираемся полностью всё(а это много) хранилище двинуть туда.

суть вопроса Slow Changing Dimension в Snowflake
сейчас в MS SQL я все dimensions таблицы построил на temporal tables(system-versioned)(SCD 4го типа(по-моему) основная таблица + историческая )
в курсе был урок по snapshot который очень напомнил temporal технологию в мелкософте.

вопрос как best сделать SCD in Snowflake?

заранее спасибо.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40115853
2wheels
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
montoya., с SCD4 я в практике не сталкивался к сожалению. Сразу скажу, Time Travel для этого не подходит - период хранения данных максимум 90 дней (на самом деле 97, но это + FileSafe). А так да, Snapshot в dbt выглядит подходящим.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40118069
montoya.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2wheels
montoya., с SCD4 я в практике не сталкивался к сожалению. Сразу скажу, Time Travel для этого не подходит - период хранения данных максимум 90 дней (на самом деле 97, но это + FileSafe). А так да, Snapshot в dbt выглядит подходящим.


отдельную ветку для snowflake создам. вопросики полезли...
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40133319
redsunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто нить юзал apache camel? Если у кого есть опыт в продакшене расскажите пожалуйста.

Есть еще по airflow вопрос, можно ли там прикрутить обращение к unmanaged коду dll для вызова функций? У нас одна система так работает получение и отправка данных к ней через вызов функций из dll.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40133336
redsunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее так можно ли подключить в вызове питон кода из dag, вызвать unmanage code из dll
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40133411
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redsunrise,

используя PythonOperator вы можете запустить любой пайтон код
внутри которого подключить вашу dll и работать с ней
это больше вопрос не эирфлоу, а пайтона
только учитывайте, что воркер эирфлоу может запуститься на любом узле и поэтому ваша dll должна быть доступна на любом узле
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40133680
redsunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка,
Спасибо за ответ, то что dll можно вызвать из python, это как раз вопросов не вызывает.
Как вы верно подметили интересовал вопрос видимости dll. Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Apache Airflow для ETL
    #40138432
digitalberd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отличный инструмент, в 2023-2024 году практически стандарт отрасли.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40138674
Яков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
digitalberd [игнорируется] 

Возможно, но для моей задачи не подошел. Я так и не нашел оптимального решения.

Суть задачи
Написать Dags, которые на регулярной основе будут перекачивать данные из MS SQL (сервер 1c / винда) в PostgreSql (DWH / убунта)

По логам вижу, что скорость заливки - 1000 строк в секунду. А это очень медленно.
Думаю, что коннектор, который создается в AIRFLOW, использует ODBC - драйвер.

Ни платного, ни бесплатного OLE DB драйвера для линукса под MS SQL не нашел.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40138676
Ирвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яков  27.06.2024, 13:09
[игнорируется]
digitalberd [игнорируется] 

Возможно, но для моей задачи не подошел. Я так и не нашел оптимального решения.

Суть задачи
Написать Dags, которые на регулярной основе будут перекачивать данные из MS SQL (сервер 1c / винда) в PostgreSql (DWH / убунта)

По логам вижу, что скорость заливки - 1000 строк в секунду. А это очень медленно.
Думаю, что коннектор, который создается в AIRFLOW, использует ODBC - драйвер.

Ни платного, ни бесплатного OLE DB драйвера для линукса под MS SQL не нашел.
Стоит попробовать из MS SQL сложить таблицу в .csv-файл утилитой bcp, затем загрузить в Postgres тоже через BULK-load
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40138680
чебуран
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яков  27.06.2024, 13:09
[игнорируется]
Ни платного, ни бесплатного OLE DB драйвера для линукса под MS SQL не нашел.
там нужна питонячья библиотека pymssql или как-то так. И всё.
Яков  27.06.2024, 13:09
[игнорируется]
По логам вижу, что скорость заливки - 1000 строк в секунду. А это очень медленно.
Зависит от того, как вы написали код.
Если делать в питоне, то обычно загружается батч данных в питон, потом он выплевыается в постгре.
Батч может быть 100 тысяч строк и больше. Как 1000 строк получается - непонятно. Только если очень долго идёт SQL выгрузки из MS SQL.

Также можно грузить через файл. Как уже было предложено.
...
Рейтинг: 0 / 0
Apache Airflow для ETL
    #40138710
eugeny.r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redsunrise  10.02.2022, 20:21
[игнорируется]
А кто нить юзал apache camel? Если у кого есть опыт в продакшене расскажите пожалуйста.
Юзал, мне понравилось - очень много готовых компонентов c с большим количеством настроек, XML DSL и Java DSL использовал для написания route'ов.

Написал, отладил, настроил - лет пять проработало как часы. Сейчас народ переписывать собрался :)
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Apache Airflow для ETL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]