Size: a a a

2020 September 14

АЖ

Андрей Жуков... in Airflow
сабпрооцесс?
источник

Р

Роман in Airflow
os.system("echo Hello from the other side!")
источник

Р

Роман in Airflow
вот так судя по всему
источник

АЖ

Андрей Жуков... in Airflow
ну можно и так, да
источник

VT

Vasiliy Toporov in Airflow
Здравствуйте! Есть вопрос: как вы синхронизируете данные между MySQL и Google Big Query с помощью Airflow. Сейчас видится так, что нужно запускать последовательный даг, в котором есть следующие шаги:
- проверка есть ли таблица в GBQ, если нет, то создаём
- выборка условно первой 1000 записей из MySQL и последовательная запись в GBQ
- проверка максимального айди в таблице в GBQ и при ненулевом айди передача его в запрос для выборки следующей тысячи из MySQL
И так далее. Выглядит как рабочая схема, но может есть какое-то более элегантное решение?
источник

マサ

マキシム サモイロフ... in Airflow
mysql_to_gcs >> gcs_to_bq
источник

PA

Panchenko Andrey in Airflow
Да, но что вы скажете на количество апдейтов для таблицы?
планируете апдейт, мердж или аппенд?
источник

PA

Panchenko Andrey in Airflow
вот коллега советует более рабочее)
источник

VT

Vasiliy Toporov in Airflow
Panchenko Andrey
Да, но что вы скажете на количество апдейтов для таблицы?
планируете апдейт, мердж или аппенд?
Там совершенно разные таблицы, заполняемые с разной интенсивностью, но хайлоада нет.
источник

VT

Vasiliy Toporov in Airflow
マキシム サモイロフ
mysql_to_gcs >> gcs_to_bq
А это имеются в виду уже готовые операторы?
источник

PA

Panchenko Andrey in Airflow
да там просто на всякие апдейты и мерджы в день 1000 операций в сутки на таблицу
источник

ДН

Дмитрий Негреев... in Airflow
Vasiliy Toporov
Здравствуйте! Есть вопрос: как вы синхронизируете данные между MySQL и Google Big Query с помощью Airflow. Сейчас видится так, что нужно запускать последовательный даг, в котором есть следующие шаги:
- проверка есть ли таблица в GBQ, если нет, то создаём
- выборка условно первой 1000 записей из MySQL и последовательная запись в GBQ
- проверка максимального айди в таблице в GBQ и при ненулевом айди передача его в запрос для выборки следующей тысячи из MySQL
И так далее. Выглядит как рабочая схема, но может есть какое-то более элегантное решение?
Вы можете выбрать из mysql сразу все что вам нужно, просто чанками ограничивайте порции и все, чтобы не вылететь по памяти.
Обычно инкремент извлекается по тех.дате источника, максимальное значение которой вы запоминаете после каждой загрузки.
источник

DS

Dmitry Samoylov in Airflow
Всем привет. Тема на обсуждение. Хочу использовать airflow только для мониторинговых скриптов с временем запуска 5+ минут. С использованием KubernetesExecutor, либо с использованием KubernetesPod. Как считаете, какие плюсы и минусы, какие подводные камни могут вылезти? Мониторинговые скрипты - без ETL.
источник

VS

Vladislav 👻 Shishkov... in Airflow
микроскоп и гвозди
источник

DS

Dmitry Samoylov in Airflow
Не совсем, там уже удобный шедулер с функционалом запуска в kubernetes, а также метрики для слежения за состоянием скриптов
источник

DS

Dmitry Samoylov in Airflow
Какие альтернативы, кроме как писать свой сервис?
источник

ДН

Дмитрий Негреев... in Airflow
Dmitry Samoylov
Какие альтернативы, кроме как писать свой сервис?
Экспортеры для прометеуса
источник

DS

Dmitry Samoylov in Airflow
Дмитрий Негреев
Экспортеры для прометеуса
Не совсем понимаю как будет выглядеть вся цепочка(
источник

ДН

Дмитрий Негреев... in Airflow
Dmitry Samoylov
Не совсем понимаю как будет выглядеть вся цепочка(
Ну абсолютно любой мониторинг можно собирать прометеем например.
Пишете скрипт, который в определенном формате экспозит метрику (api на кучу языков есть) на какой-то там порт.
Поднимаете пром и его джобу для скрейпа метрики (конфиг простой).
Он себе под ноги складывает значения (не рекомендуется долгое хранение), можете какую-нибудь promql совместимую бд для бэкэнда заюзать, сам пром не очень в качестве хранилища.
Ну и дальше графана и promql запросы для дашборда.
источник

ДН

Дмитрий Негреев... in Airflow
Чуть по другому для какого-нибудь заббикса/графита.
Второму надо пушить метрики, и там свои инструменты.
источник