CertMaster

🧱 ELT Pipelines & Medallion Architecture

Bronze/Silver/Gold, Auto Loader, Delta Live Tables

Databricks Data Engineer · DE-Associate · ⏱️ 25 min · ❓ 6 вопр.

🥉🥈🥇 Medallion Architecture

Bronze — сырое получение данных, без каких-либо изменений (append-only). Silver — очищенные, прошедшие валидацию и дедупликацию данные. Gold — агрегации на уровне бизнеса, готовые для отчётности. Каждый слой в формате Delta.

📥 Auto Loader

Автоматическая инкрементальная загрузка новых файлов из облачного хранилища (S3/ADLS/GCS). Формат cloudFiles. Вывод и эволюция схемы. Семантика exactly-once через checkpoint. Миллионы файлов — эффективно.

🔄 Delta Live Tables (DLT)

Декларативный фреймворк для пайплайнов. Декоратор `@dlt.table`. Live Tables (полное обновление) и Streaming Live Tables (инкрементальные). Expectations — ограничения качества данных. Автоматическое управление зависимостями и обработка ошибок.

MERGE INTO (UPSERT)

MERGE в Delta — это upsert (update + insert). Сопоставляет источник с целевой таблицей: при совпадении выполняет update, при несовпадении — insert. Используется для SCD Type 1 (перезапись) и Type 2 (история).
💡 Ключевые моменты
📋 Пример кода
-- Auto Loader (Bronze ingestion)
CREATE OR REFRESH STREAMING TABLE bronze_orders
AS SELECT
  current_timestamp() as ingestion_time,
  *
FROM cloud_files(
  "s3://bucket/orders/",
  "json",
  map("cloudFiles.inferColumnTypes", "true")
);

-- DLT Silver table (with expectations)
@dlt.table
@dlt.expect_or_drop("valid_amount", "amount > 0")
@dlt.expect_or_fail("not_null_id", "id IS NOT NULL")
def silver_orders():
  return (dlt.read_stream("bronze_orders")
    .dropDuplicates(["id"])
    .filter("status != 'CANCELLED'")
  )

-- MERGE INTO (upsert)
MERGE INTO silver_customers AS target
USING new_customers AS source
ON target.id = source.id
WHEN MATCHED THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *;
🎯 Советы для экзамена
⚠️ Частые ошибки
🧠 Для запоминания: "BSG Medals" = Bronze (raw) → Silver → Gold — как медали, каждый уровень чище предыдущего. "MERGE = Match then Update or Insert"

Проверьте себя по теме «ELT Pipelines & Medallion Architecture»

Бесплатные интерактивные тесты, пробный экзамен и полные уроки — на платформе CertMaster.

Начать бесплатно →