Путь данных: от источника до отчёта
В прошлых двух уроках мы выучили кирпичики (таблица, строка, файл) и словарь (источник, пайплайн, хранилище, batch/stream, оркестрация). Теперь сложим их в одну общую картину: как данные проходят весь путь от того места, где родились, до отчёта, на который смотрит руководитель. Это обзор с высоты птичьего полёта — без деталей, только этапы и их порядок. Каждому этапу позже посвящён отдельный модуль.
Пять этапов одного путешествия
Почти любой путь данных можно разложить на пять этапов. Запомни их порядок — он повторяется в каждой компании мира.
-
Рождение (источник). Данные появляются: пользователь оформил заказ, нажал кнопку, датчик прислал замер. Факт записан в базе приложения или прилетел из внешнего сервиса. На этом этапе дата-инженер ничего не делает — он просто знает, где данные живут.
-
Извлечение (extract / ingestion). Дата-инженер подключается к источнику и регулярно вытаскивает свежие данные: партиями по расписанию (batch) или потоком по мере появления (stream). Слово, которым это называют, — ingestion (читается «инджесчн», буквально «заглатывание»). Это вход в трубу.
-
Хранение сырых данных. Извлечённые данные сначала складывают как есть, в сыром виде — обычно в дешёвое большое хранилище файлов. Это страховка: если на следующем этапе что-то сломается, всегда можно переделать из сырья, не дёргая источник заново.
-
Преобразование (transform). Сырые данные чистят и приводят в порядок: убирают дубли, чинят форматы, склеивают таблицы из разных источников, считают бизнес-метрики. Здесь данные превращаются из «свалки фактов» в аккуратные таблицы, по которым удобно считать.
-
Подача (хранилище и отчёты). Готовые, чистые таблицы лежат в хранилище данных (warehouse). К ним обращаются аналитики со своими дашбордами и специалисты по ML со своими моделями. Это кран, из которого наконец течёт чистая вода.
Над всеми этапами стоит оркестратор — дирижёр, который запускает шаги 2-5 в правильном порядке, по расписанию, и поднимает тревогу, если что-то упало.
Та же картина словами водопровода
Если вернуться к аналогии из первого урока:
- источник — родник, где появляется вода;
- ingestion — труба, которая тянет воду от родника;
- сырое хранилище — накопительный бак, куда вода льётся как есть;
- преобразование — фильтры и очистка;
- хранилище-warehouse и отчёты — кран, из которого пьют аналитики;
- оркестратор — автоматика, которая включает насосы по расписанию и звонит сантехнику при протечке.
Ни один этап не существует сам по себе — важен именно весь путь целиком. Сломайся одна труба, и до крана ничего не дойдёт. Поэтому работа дата-инженера — это не только «написать код», но и «следить, чтобы вся цепочка работала каждый день».
Где на этом пути живут уже знакомые слова
Чтобы карта окончательно сложилась, разложи по этапам словарь из прошлого урока — ты увидишь, что новых сущностей почти нет, мы просто расставили старые по местам.
- Источники — это первый этап. У компании их обычно много: база заказов, рекламные кабинеты, поддержка клиентов. Каждый источник подключают отдельно.
- Ingestion — это второй этап, само действие извлечения. Оно может идти в ритме batch (партиями по расписанию) или stream (потоком, по одному событию). Ритм выбирают под задачу: отчёту «за вчера» хватает batch, антифроду нужен stream.
- ETL и ELT — это про то, в каком порядке идут этапы 4 и 5 относительно загрузки. Если чистим до того, как положили в warehouse, — это ETL. Если грузим сырьё и чистим внутри хранилища — это ELT. Сам набор этапов один и тот же, меняется только порядок «почистить» и «положить».
- Пайплайн — это и есть весь путь со второго по пятый этап, собранный в работающую цепочку шагов.
- Хранилище (warehouse) — это пятый этап, конечная точка для чистых данных, к которой приходят аналитики и ML.
Получается, что весь словарь прошлого урока — это просто подписи к этапам одной картинки. Когда дальше в курсе ты встретишь любой из этих терминов, мысленно ставь его на свой этап пути — и сразу понятно, о какой части водопровода идёт речь.
Удобный приём на весь курс: услышав новый инструмент (Airflow, Spark, dbt, Kafka), сразу спрашивай себя — «на каком этапе пути данных он работает?». Например, Airflow — это оркестратор (дирижирует всеми этапами), а инструмент трансформации работает на этапе преобразования. Так новые названия не превращаются в кашу, а ложатся на знакомую карту.
Ни один этап не существует сам по себе — важен именно весь путь целиком, и именно за его непрерывную работу отвечает дата-инженер каждый день.
Реальные пути данных бывают сложнее: этапов больше, хранилищ несколько, появляются проверки качества и каталоги. Но скелет всегда один и тот же: источник -> извлечение -> хранение -> преобразование -> подача. Если ты держишь в голове этот скелет, любая сложная схема раскладывается на знакомые части.
Мостик: один день из жизни
Теперь у тебя есть карта местности. Ты знаешь, что такое данные, узнаёшь главные термины и видишь весь путь от источника до отчёта целиком.
В следующем модуле мы посмотрим на ту же картину глазами живого человека — пройдём один рабочий день дата-инженера час за часом. Там снова встретятся слова из этого модуля: будет падать пайплайн, не доедет ingestion, всплывут batch и stream, появится оркестратор. Но теперь это будут знакомые слова, и история про инцидент в 10:30 утра прочитается как понятный сюжет, а не как лавина незнакомых терминов.
Это и была цель первого модуля: дать тебе словарь и карту, чтобы дальше курс читался легко. Дальше — детали, инструменты и практика. Но фундамент уже стоит.
Попробуй сам
- Не подглядывая, выпиши пять этапов пути данных по порядку и подпиши каждый одним своим словом. Сверься с уроком: какой этап было труднее всего вспомнить?
- Возьми знакомый пример: ты заказал еду в приложении доставки. Проведи этот заказ через все пять этапов. Где он «родился», как его «извлекают», во что «преобразуют», в каком отчёте он окажется?
- Подумай, что случится, если убрать этап «хранение сырых данных» и грузить сразу в преобразование. Какой риск появляется, если на этапе преобразования будет ошибка?