|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Критик Полковник., А почему не apache nifi? когда работал 2-3 года с найфаем он был не очень. Простые действия делались какими-то непонятными приседаниями. Смысла его использовать по сравнению с Airflow, который очень простой, я не увидел. По крайней мере для батчевых загрузок точно. Может быть в задачах стриминга он выглядет более лучше, но их было мало. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2021, 15:08 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Как вы реализуете процесс версионирования/патчинга ETL-процедур (dags)? GitLab -> CI/CD. Пушим даг в мастер - он выкатывается в airflow. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 02:49 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Полковник. Подниму тему вопросом. Читаю доки, написано, что лучше трансформацию данеых в dag-е не делать, что бы не жрал память, а вызывать заранее созданный на python файл в котором сделать необходимую обработку. Это так? Есть какие то ещё рекомендации? Ещё вопрос если нужно передавать параметры(переменные) между подпрограммами обработки данных, то как это лучше сделать, через переменные airflow или ещё как то? сам недавно начал новый стак осваивать. все Tрансформации делаю на уровнях баз если это MS SQL то соответтсвенно процедурки и т.д. airflow + python использую сугубо для выстраивания последовательностей запуска. если datalake типа snowflake сейчас читаю мат часть по DBT(Data Build Tool) глобальные переменные храню в airflow variables - красиво и секьюрно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 16:30 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Александр Бердышев Как вы реализуете процесс версионирования/патчинга ETL-процедур (dags)? GitLab -> CI/CD. Пушим даг в мастер - он выкатывается в airflow. +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 16:31 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
montoya., Подскажи как осуществляешь передачу данных база-база, тоже sql оператором? Хранишь ли данные в промежутке, типа одним таском достал, положил во временное хранение, вторым таском отправил в другую базу из временного хранения, если да, то в каком виде? Или все в одном операторе - достал в курсор, из него отправил в другую базу? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 16:45 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Полковник. montoya., Подскажи как осуществляешь передачу данных база-база, тоже sql оператором? Хранишь ли данные в промежутке, типа одним таском достал, положил во временное хранение, вторым таском отправил в другую базу из временного хранения, если да, то в каком виде? Или все в одном операторе - достал в курсор, из него отправил в другую базу? для обмена внутрикорпаративной сети мужду базами пока airflow не гонял, тут по классике на SSIS всё делаю. но думаю, что я бы врядле строил архитектуру с временным хранением, напрямую бы как-то пулял. для внешних интеграций сейчас настраиваю обмен между внешним источником данных и snowflake в данном случае использую промежуточно Azure Blob т.е. забираю с внешнего источника и без стейджинга пихаю в Blob в том первозданном виде как отдаёт источник. для приёмника выбрал именно blob так как шо взял то и впихнул, удобно. для участка snowlake-azure blob - сейчас читаю про DBT, тулза для Трансформации внутри хранилища. именно эта штука обеспечивает гибкую настройку трансформации именно ВНУТРИ хранилища а не в пути где-то. на финише будет powerBI с источником ввиде snowflake. опыта пока не много, сам учусь, но тема мне нравиться) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 20:16 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
для обмена между MS SQL и внешними получателями тут всё одим оператором запускаются процедуры на MS SQL готовят данные и потом курсором их пихаю или в api или ftp кому как. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 20:21 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
montoya., посмотри в сторону SnowPipe для загрузки из Azure Blob Storage в Snowflake. В сочетании с Table Stream (фишка Snowflake) работает отлично. Если все-таки не подходит, попробуй External Tables, они дадут существенный прирост в производительности для Parquet-файлов. по dbt рекомендую вот этот курс: https://www.udemy.com/course/learn-dbt-from-scratch/ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 12:26 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Полковник. Подскажи как осуществляешь передачу данных база-база, тоже sql оператором? Хранишь ли данные в промежутке, типа одним таском достал, положил во временное хранение, вторым таском отправил в другую базу из временного хранения, если да, то в каком виде? Или все в одном операторе - достал в курсор, из него отправил в другую базу? Давайте скажем честно - AirFlow это такой cron на стероидах, или open source Control-M. Это не среда производства вычислений, если вам этого хочется - идите к Informatica или NiFi. Еще - вспомнил что каждый такс может запускаться на своем вычислителе, не связанном с предыдущим таском. Посему - в таске делаете с данными все, в том числе и сохранение в целевое место или буфер. Чтобы потом достать на следующем таске. Если это обмен db-db, то нужен sql оператор который это выполняет. Или через linked server, или через fdw (для postgre), или через pxf (для GreenPlum). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 12:28 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Ferdipux, Да с этим то в е понятно, у нас запрещено линковать сервера, тем более разные. Поэтому с одной стороны пишут, что хранить данные и обрабатывпть в тасках нельзя, но если надо то можно, примеров таких навалом. Кстати, что такое в этом случае курсор? Прочитал из oracle в курсор, бросил из курсора в postgres, где курсор хранит данные? ETL использовать нельзя, я писал уже, ищем альтернативу пентахе для себя, мы роемся в данных, ETL есть, но что бы на нем что то делать нужно кучу документов написать и пройти согласований, тогда м.б. через месяц ты получишь данные в своей табличке, а когда на них посмотришь, то поймёшь, что это не та табличка, нужна другая Трудно все, вообщем. Я по курсам достаточно много получил информации и много чего уже делаю, но беспрактик тоже нужно у кого то подсмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 13:24 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Полковник. Да с этим то в е понятно, у нас запрещено линковать сервера, тем более разные. Поэтому с одной стороны пишут, что хранить данные и обрабатывпть в тасках нельзя, но если надо то можно, примеров таких навалом. Кстати, что такое в этом случае курсор? Прочитал из oracle в курсор, бросил из курсора в postgres, где курсор хранит данные? курсор в оракле то же самое что и в мсскл, в нем нет данных. это просто описания квери и указатель до куда потребитель вытянул данные. если не полноценный ETL, то перекинуть данные думаю сейчас лишь 2 способа из простых: 1. питончиком, как я понимаю он вытянет в данные оперативу (датафрейм) и если не вывалится out of memory, сможет этот пандас датафрейм записать в постгрес. вероятно силами одного единственного коннекта. 2. спарком. я такую задачку на коленках решал java+spring+spark и запускал на обычной линуксовой машине. у спарка больше шансов не вывалится с OOM и он сможет в параллель выкачивать/закачивать. схема та же, читайет датафрейм, его же записывает по jdbc. я спарком закачивал стейджинг таблицы, если все хорошо выполнял MERGE statement (стейджинг в target табличку) уже средствами субд ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 14:29 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Полковник. Поэтому с одной стороны пишут, что хранить данные и обрабатывпть в тасках нельзя, но если надо то можно, примеров таких навалом. Кстати, что такое в этом случае курсор? Прочитал из oracle в курсор, бросил из курсора в postgres, где курсор хранит данные? Курсор - это надстройка над Psycopg cursor . Вообще, стукнитесь в e-mail лички, похоже что у нас общие задачи и проблемы :). Будет занятно пообщаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 14:42 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
H5N1, Буду spark смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 15:25 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Ferdipux, Ну да, я про этот курсор спрашивал. У меня задачка факультативная, я не могу ей много времени посвящать, поэтому лучше тут обсуждать, чем в личке. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 15:29 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
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 с локального сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 22:34 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
montoya. Snowpipe, если не ошибаюсь, это приложение как sql console нет, Snowpipe - это serverless служба для доставки данных. Запускается примерно раз в минуту, проверяет еслть ли новые файлы,и, если есть, грузит данные в таблицы. Там много интересных штук, например Snowpipe хранит метаданные файлов, загруженных за последние 64 дня и по умолчанию пропускает их. Но можно заставить грузить все (COPY INTO ... FORCE = TRUE). Я делал проект, когда приложение сохраняло JSON в Azure Blob Storage, Snowpipe выгружал данные в Snowflake, а поверх уже были отчеты Power BI. Вобщем, будут вопросы по Snowflake - willkommen )) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 12:17 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
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? заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 12:16 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
montoya., с SCD4 я в практике не сталкивался к сожалению. Сразу скажу, Time Travel для этого не подходит - период хранения данных максимум 90 дней (на самом деле 97, но это + FileSafe). А так да, Snapshot в dbt выглядит подходящим. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 13:12 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
2wheels montoya., с SCD4 я в практике не сталкивался к сожалению. Сразу скажу, Time Travel для этого не подходит - период хранения данных максимум 90 дней (на самом деле 97, но это + FileSafe). А так да, Snapshot в dbt выглядит подходящим. отдельную ветку для snowflake создам. вопросики полезли... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:38 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
А кто нить юзал apache camel? Если у кого есть опыт в продакшене расскажите пожалуйста. Есть еще по airflow вопрос, можно ли там прикрутить обращение к unmanaged коду dll для вызова функций? У нас одна система так работает получение и отправка данных к ней через вызов функций из dll. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 20:21 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Точнее так можно ли подключить в вызове питон кода из dag, вызвать unmanage code из dll ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 22:50 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
redsunrise, используя PythonOperator вы можете запустить любой пайтон код внутри которого подключить вашу dll и работать с ней это больше вопрос не эирфлоу, а пайтона только учитывайте, что воркер эирфлоу может запуститься на любом узле и поэтому ваша dll должна быть доступна на любом узле ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2022, 11:20 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Дедушка, Спасибо за ответ, то что dll можно вызвать из python, это как раз вопросов не вызывает. Как вы верно подметили интересовал вопрос видимости dll. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2022, 09:20 |
|
Apache Airflow для ETL
|
|||
---|---|---|---|
#18+
Отличный инструмент, в 2023-2024 году практически стандарт отрасли. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2024, 19:06 |
|
|
Start [/forum/topic.php?fid=49&startmsg=40106302&tid=1857034]: |
0ms |
get settings: |
24ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
544ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 675ms |
0 / 0 |