09

Batch + Streaming Patterns

Medallion, schema evolution, deduplication patterns, Airflow, testing и DLQ.

streaming platform
Batch + Streaming Patterns

Контрольные задания

Сделать идемпотентный daily DAG
Реализовать Anti-Join инкрементальную загрузку
Написать тест трансформации через pyspark.testing
Ввести quality gate в pipeline

Уроки модуля

1 Medallion Architecture: bronze, silver, gold - принципы и границы слоёв 2 Idempotency: OVERWRITE, MERGE, dedup паттерны для safe retry 3 Schema Evolution: стратегии добавления и удаления колонок без поломки 4 Deduplication: dropDuplicates vs Window row_number - когда и что выбрать 5 Anti-Join dedup (left_anti): загрузка инкремента без дублей - паттерн для batch ETL 6 Hash-ключ для составных PK: sha2/xxhash64 - dedup по 10+ колонкам без shuffle penalty 7 Bloom Filter в Spark SQL: probabilistic dedup и ускорение join на больших таблицах 8 Airflow + Spark: SparkSubmitOperator vs KubernetesPodOperator 9 DAG Design: декомпозиция job, зависимости и параллелизм в Airflow 10 Testing PySpark: pyspark.testing.assertDataFrameEqual и Unit-тесты 11 Testing: изоляция от внешних источников без mock-антипаттернов 12 Quality Gates: встраивание row count, null check и drift-проверок 13 Dead Letter Queue: паттерн Quarantine для плохих записей 14 Observability: структурированное логирование и трассировка Spark job 15 SCD Type 2: реализация через MERGE INTO и Iceberg row-level deletes
Начать модуль