← к ленте

Как простая задача по переносу данных превращается в сложный процесс

N@datamishaкарьера / HR
1 мес

Размышления о том, как кажущаяся простой задача по переносу данных в SQL превращается в сложный процесс с использованием DAG и чанкирования.

Работа с данными часто требует гораздо больше инженерных усилий, чем кажется на первый взгляд.

  • Даже простые операции с данными могут упираться в ограничения производительности.
  • Для оптимизации тяжелых запросов часто требуется разбиение на этапы и использование промежуточных хранилищ.
  • Автоматизация процессов через DAG помогает справляться с нагрузкой и ошибками.
А чем я вообще занимаюсь? Хоть у меня и нет синдрома самозванца, но я иногда смотрю на свою работу со стороны и такой: «Да чем ты вообще занимаешься целый день?! Твоя задача всего лишь переложить таблички с одного места на другое и потом соеденить их. Что в этом сложного» 🤔 И на словах оно в целом так и есть. И вроде бы в работе с табличками особо ничего сложного нет, но потом работаешь и … Была у меня тут простая на первый взгляд задача - заинсертить (положить) данные в таблицу) Ну то есть что-то типо такого запроса:

insert table1
select * from table2
where id in (ну и тут айдишники отобранные по условию)
Опустим часть о том как именно достать эти айдишники (это тоже не всегда просто, но сейчас не об этом) - это делается с помощью запроса с джойнами у условиями Казалось бы задача решена - просто подставить наше условие в скобки в скрипте выше, но так не всегда работает, так как запрос тяжелый. Не понятно когда отработает, а там таймаут, ресурсов много хочет и тд Пришлось не много помаяться с этим 🤔 Короче в итоге я создал промежуточную таблицу, куда заинсертил нужные мне айдишники. Но и заинсертить было не так просто: сделал ДАГ который берет данные за один день, дальше это один день еще резался на чанки, дальше были вычисления и инсерт 🎉 И вот маленькая задача (даже задачей это сложно назвать), превратилась в целый квест А у вас бывают мысли о том что вы на работе занимаетесь не пойми чем?

Кратко (AI)

Автор рассуждает о сложности работы дата-инженера, приводя пример задачи, которая на первый взгляд казалась тривиальной. Простой SQL-запрос на перенос данных потребовал создания промежуточной таблицы, настройки DAG и разбиения процесса на чанки из-за ограничений по ресурсам и таймаутам.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖