05

S3-compatible Storage

S3A connector: MinIO, Ceph RGW, Ozone. Commit protocol и compaction.

storage optimization
S3-compatible Storage

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

Настроить 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
Начать модуль