Распределённый журнал событий: основа потоковой архитектуры и источник данных для онлайн-признаков.
Ключевые тезисы
- Партиции задают параллелизм; порядок гарантирован только внутри партиции.
- Consumer group распределяет партиции между потребителями и отслеживает смещения.
- Retention позволяет переиграть историю событий заново — ценное свойство для ML.
Подробный разбор
- Порядок гарантирован только внутри партиции — выбирайте ключ так, чтобы связанные события шли в одну.
- Число партиций задаёт максимальный параллелизм потребителей; уменьшить его позже нельзя.
- Перекос ключей приводит к перегруженной партиции и отставанию (lag) только по ней.
Потребитель хранит смещение (offset) — позицию в журнале. Коммит смещения до обработки даёт потерю при сбое, после обработки — дубликаты. Отсюда снова требование идемпотентности.
- Мониторьте consumer lag: это главный индикатор здоровья потока.
- Retention позволяет переиграть историю — ценно при исправлении логики обработки.
- Compacted-топики хранят последнее значение по ключу и работают как таблица состояния.
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Платформа данных
Warehouse, Lake, Lakehouse80%
Хранилище, озеро, lakehouse · Инженерия данныхТри способа хранить аналитические данные: строгая схема, сырые файлы или гибрид с транзакциями поверх объектного хранилища.
File Formats80%
Форматы хранения · Инженерия данныхКолоночные форматы против строковых: почему Parquet почти всегда лучше CSV для аналитики.
Partitioning80%
Партиционирование · Инженерия данныхРазделение данных по ключу (обычно по дате), чтобы запрос читал минимум файлов.
Analytical SQL80%
Аналитический SQL · Инженерия данныхОконные функции, агрегации и CTE — основной инструмент подготовки признаков на больших данных.
ETL vs ELT80%
ETL и ELT · Инженерия данныхПреобразовывать данные до загрузки или уже внутри хранилища — и почему индустрия сместилась ко второму.
Batch and Streaming80%
Батч и стриминг · Инженерия данныхОбработка по расписанию против непрерывной обработки событий. Разные задержки, разные гарантии, разная стоимость.
Orchestration80%
Оркестрация пайплайнов · Инженерия данныхПланировщик, который знает зависимости между задачами, повторяет упавшие и не даёт запускать одно и то же дважды.
Spark80%
Spark · Инженерия данныхРаспределённая обработка больших объёмов данных: тот случай, когда данные не помещаются на одну машину.
ML Pipelines80%
ML-пайплайны · MLOpsОформление обучения как воспроизводимой последовательности шагов вместо разрозненных ноутбуков.
Data Versioning80%
Версионирование данных · MLOpsДанные меняются чаще кода — без их версий эксперимент не воспроизвести.
Профильная компетенция для роли: Data Engineer.
Усиливает профиль: MLOps-инженер.
Спрашивают на собеседовании: BI.ZONE — Данные и аналитика угроз, Arenadata — Платформа данных.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Инженерия данных» последний раз правилась . Нашли ошибку — напишите.