TGViewer
Аналитика данных / Data Study Аналитика данных / Data Study @data_study · 9.46K subscribers
Post #622 4.11K
🔍 ETL с помощью SQL: Инкрементальная загрузка 🔍

✨ В отличие от полной перезагрузки (Full Reload), описанного в этом посте, инкрементальная загрузка перемещает только новые или обновленные данные. Это экономит ресурсы и время, особенно при работе с большими объемами данных.

Давайте поговорим о ключевых этапах этого процесса:

1️⃣ Определение инкремента данных
Инкремент - набор данных, которые нужно загрузить. Он может определяться как набор новых строк в источнике, так и набор строк с обновленными значениями. Для определения инкремента обычно используются поля со смыслом как "дата обновления записи", "дата создания записи" и др. с похожим смыслом, по которым можно сделать выборку нужного инкремента.
Пример выделения инкремента из таблицы source по условию, что поле update_date имеет сегодняшнюю дату
SELECT *
FROM source s
WHERE update_date = CURRENT_DATE()


2️⃣ Вставка инкремента в target таблицу
Пример запроса может выглядеть так:
INSERT INTO target
SELECT *
FROM source s
WHERE update_date = CURRENT_DATE();

Здесь есть нюанс, что в таблицу target попадут все записи инкремента и останутся те, которые были уже в таблице например под одним и тем же id. Таким образом может собираться накопительная историческая таблица, например с продажами. К примеру в таблице target уже была запись по продаже с id = 5 и status = 'buy'. А в новом инкременте из source прилетит обновленная строка с id = 5 и status = 'cancelled'. Таким образом в target будет зафиксирована вся история обновления строк.

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

Оставляйте реакции, если пост был полезен 😉
  • 🔥 36
  • ❤ 3
  • 👍 3
More from @data_study
  1. Oct 2, 2026Чтобы вы понимали, у нас чатик аналитиков на работе назывался anal_party Через что только…
  2. Sep 30, 2026С учеником на менторинге проработали задание по созданию дерева метрик - как результат он…
  3. Sep 27, 2026Post #1504
  4. Sep 26, 2026AI ассистентов много не бывает... Установил себе в VS Code еще один плагин SourceCraft, эт…
  5. Sep 24, 2026Поставил себе цель закрывать кружок активности каждый день Листая статистику в приложении…
  6. Sep 23, 2026Давно Маркизы не было в ленте, уверен вы соскучились по шоколадной булке ♥️ P.S. вы ей тож…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →