05
S3-compatible Storage
S3A connector: MinIO, Ceph RGW, Ozone. Commit protocol и compaction.
storage
optimization
Контрольные задания
✓
Настроить MinIO для Spark
✓
Записать partitioned Parquet без rename-проблем
✓
Сделать compaction job
✓
Выбрать подходящее хранилище под конкретный сценарий
Уроки модуля
1
S3A Connector: архитектура, конфигурация и параметры производительности
2
Rename Problem: почему S3 не POSIX и как это ломает Spark
3
Committer Algorithms: magic committer vs staging committer vs partitioned
4
Parquet на S3: vectorized reader, column pruning и row group filtering
5
Predicate Pushdown в Object Storage: что пушится, что нет
6
Small Files на S3: LIST latency и ограничения при большом числе файлов
7
Compaction стратегии: Spark job, Delta OPTIMIZE, Iceberg rewrite_data_files
8
MinIO: установка, настройка bucket policy и интеграция со Spark
9
Boto3: Python SDK для S3-операций - листинг, загрузка, Presigned URLs и управление метаданными
10
LocalStack и Testcontainers: локальная S3-эмуляция - ETL-тесты без реального кластера
11
Сравнение S3-совместимых хранилищ: MinIO, Ceph, SeaweedFS, Garage, Apache Ozone