Выбор ответа Senior Parquet и партиционирование обновлено

Сортировка внутри файлов

Вопрос

Таблица партиционирована по дате, а внутри дня частые фильтры по country и по category. Что улучшит пропуск данных по этим колонкам?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сортировка или кластеризация внутри партиции по этим колонкам (z-order), чтобы min..max сузились. Кластеризация группирует похожие значения рядом, и статистики начинают отсекать файлы и row groups.

Варианты ответа

  1. Добавить ещё два уровня партиций по country и category внутри каждого дня
  2. Увеличить размер row group до размера всего файла, чтобы статистики min..max были точнее и полнее
  3. Сортировка или кластеризация внутри партиции по этим колонкам (z-order), чтобы min..max сузилисьправильный ответ
  4. Сжать колонки country и category словарём, чтобы фильтр сравнивал коды, а не строки

Разбор

Кластеризация группирует похожие значения рядом, и статистики начинают отсекать файлы и row groups. Z-order позволяет совместить несколько колонок. Дополнительные уровни партиций умножат число каталогов и создадут мелкие файлы. Одна огромная row group ухудшит пропуск. Сжатие не влияет на статистики.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.