09
Batch + Streaming Patterns
Medallion, schema evolution, deduplication patterns, Airflow, testing и DLQ.
streaming
platform
Контрольные задания
✓
Сделать идемпотентный 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