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