Size: a a a

2020 November 18

PP

Pavel Petrin in Airflow
Mikhail
какие бд?
Одна Mssql вторая Posrges
источник

M

Mikhail in Airflow
если нет апдейтов и есть инкрементальный primary key, то всё максимально просто
источник

L

LINA INVERSE in Airflow
Pavel Petrin
Друзья, приветствую. Начал знакомство с airflow и интересует следующий вопрос. Как лучше посоветуете реализовать следующую механику:
Есть 2 БД source_db и dest_db.
Надо осуществлять периодический перенос данных из одной в другую, при этом хочется отслеживать появление новых записей с нужной периодичностью в source_db, и при появлении новых записей, осуществлять select этих записей из source_db и insert в dest_db.
Нужно ли обращаться к сенсорам, которые будут опрашивать бд и запускать таск, который уже будет делать выборку строк из source_db, которых еще нет в dest_db. Или можно просто предусмотреть опросы все этих баз в рамках одного таска? Какие best practice существуют в таких ситуациях
У меня такой же вопрос, 2 postrgres)
Всем добрый вечер)
источник

M

Mikhail in Airflow
если есть апдейты, то всё сложнее, но тоже можно, но там надо копаться в деталях реализации движка БД источника
источник

M

Mikhail in Airflow
я делал такое для postgres (не в airflow правда)
источник

GB

Georgy Borodin in Airflow
Pavel Petrin
Друзья, приветствую. Начал знакомство с airflow и интересует следующий вопрос. Как лучше посоветуете реализовать следующую механику:
Есть 2 БД source_db и dest_db.
Надо осуществлять периодический перенос данных из одной в другую, при этом хочется отслеживать появление новых записей с нужной периодичностью в source_db, и при появлении новых записей, осуществлять select этих записей из source_db и insert в dest_db.
Нужно ли обращаться к сенсорам, которые будут опрашивать бд и запускать таск, который уже будет делать выборку строк из source_db, которых еще нет в dest_db. Или можно просто предусмотреть опросы все этих баз в рамках одного таска? Какие best practice существуют в таких ситуациях
Если есть периодичность, и согласны терпеть edge case, когда не обнаружите новые файлы спустя минимальную единицу времени после запуска дага (прождать до переноса чуть меньше периода), то просто пишите идемпотентый DAG.
Внутри соответственно таски, проводящие необходимую синхронизацию
источник

PP

Pavel Petrin in Airflow
Georgy Borodin
Если есть периодичность, и согласны терпеть edge case, когда не обнаружите новые файлы спустя минимальную единицу времени после запуска дага (прождать до переноса чуть меньше периода), то просто пишите идемпотентый DAG.
Внутри соответственно таски, проводящие необходимую синхронизацию
Ну а в целом sql сенсор способен отслеживать появление новых записей в таблице?
источник

GB

Georgy Borodin in Airflow
Pavel Petrin
Ну а в целом sql сенсор способен отслеживать появление новых записей в таблице?
Сенсор слот воркера съест, как ни крути
источник

GB

Georgy Borodin in Airflow
Там две стратегии запуска вроде: при одной он просто шедулится постоянно (в пределах, заданных расписанием), при другой висит работающим какое-то время просто.
Но могу ошибаться)
источник

GB

Georgy Borodin in Airflow
Проще написать логику синка имхо
источник

M

Mikhail in Airflow
Pavel Petrin
Ну а в целом sql сенсор способен отслеживать появление новых записей в таблице?
sql сенсор просто запускает любой sql и дальше вызывает функцию на нем, которая возвращает true или false
источник

M

Mikhail in Airflow
он сам ничего не делает — sql и функцию надо написать
источник

M

Mikhail in Airflow
говорю — всё зависит от того как таблицы сделаны
если инкремент по pk, то просто написать идемпотентный таск, который догружает недостающее
если нужен полноценный cdc, то надо смотреть на конкретный движок
источник

PP

Pavel Petrin in Airflow
Mikhail
говорю — всё зависит от того как таблицы сделаны
если инкремент по pk, то просто написать идемпотентный таск, который догружает недостающее
если нужен полноценный cdc, то надо смотреть на конкретный движок
Спасибо за совет
источник
2020 November 19

МЖ

Михаил Жиляков... in Airflow
Всем привет. Столкнулся со следующей проблемой: при использовании коннектора для ClickHouseHook всплывает следующая ошибка. В коннекторе пробовал прописывать verify=false, пробовал прописывать создание и апдейт SSL сертификата в Dockerfile при деплое докером среды, но все равно всплывает эта же ошибка. Причем в другом модуле, где используется точно такой же хук, но с подключением к другому кластеру кликхауса, хватает просто прописывать создание и апдейт SSL-сертификата в Dockerfile. Есть гипотеза, что что-то не так с настройками аирфлоу именно для моего модуля. Кто-нибудь знает, в чем может быть проблема, или хотя бы в каком направлении стоит дальше копать?
источник

E

Edya in Airflow
Михаил Жиляков
Всем привет. Столкнулся со следующей проблемой: при использовании коннектора для ClickHouseHook всплывает следующая ошибка. В коннекторе пробовал прописывать verify=false, пробовал прописывать создание и апдейт SSL сертификата в Dockerfile при деплое докером среды, но все равно всплывает эта же ошибка. Причем в другом модуле, где используется точно такой же хук, но с подключением к другому кластеру кликхауса, хватает просто прописывать создание и апдейт SSL-сертификата в Dockerfile. Есть гипотеза, что что-то не так с настройками аирфлоу именно для моего модуля. Кто-нибудь знает, в чем может быть проблема, или хотя бы в каком направлении стоит дальше копать?
А откуда у вас ClickHouseHook ? что-то самописное?
источник

МЖ

Михаил Жиляков... in Airflow
Edya
А откуда у вас ClickHouseHook ? что-то самописное?
Кликхаус развернуть на Яндекс.Облаке
источник

E

Edya in Airflow
Михаил Жиляков
Кликхаус развернуть на Яндекс.Облаке
в основное ветке Airflow нет такого хука (ClickHouseHook). Откуда вы его взяли?
источник

МЖ

Михаил Жиляков... in Airflow
мы импортим airflow-clickhouse-plugin
источник

МЖ

Михаил Жиляков... in Airflow
и там появляется хук для кликхауса
источник