Iceberg time travel на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Snapshots
Каждое write — новый snapshot. Immutable.
SELECT * FROM iceberg.events.snapshots;
-- shows snapshot_id, parent, operation, ts.Time travel queries
-- by snapshot ID
SELECT * FROM events VERSION AS OF 1234567;
-- by timestamp
SELECT * FROM events FOR TIMESTAMP AS OF '2026-04-01 12:00:00';Read data «as it was».
Branches и tags
Iceberg 1.0+. Like Git branches для data.
Branch. Mutable. Dev / staging.
ALTER TABLE events CREATE BRANCH dev_branch;
-- write to branch
INSERT INTO events.branch_dev_branch VALUES (...);Main untouched. Test changes safely.
Tag. Immutable named snapshot.
ALTER TABLE events CREATE TAG audit_2026_05_07
AS OF VERSION 1234567
RETAIN 365 DAYS;Useful для compliance, regulatory snapshots.
Применения
Audit / compliance. «Show records на 2026-04-01 для regulator».
ML training reproducibility. Train on specific dataset version.
Debugging. Compare current vs past — what changed?
Rollback. Revert табличку до specific snapshot:
CALL iceberg.system.rollback_to_snapshot('events', 1234567);Связанные темы
- Iceberg deep для DE
- Spark Iceberg для DE
- Lakehouse Iceberg Delta для DE
- Schema evolution для DE
- Подготовка к собесу Data Engineer
FAQ
Это официальная информация?
Нет. Статья основана на документации Apache Iceberg.
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.