Вопрос на собеседовании · Data Engineer

Как выбрать ключ партиционирования для большого набора данных?

Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.

Обновлено 17 августа 2026 г.Встречается почти всегда
Data EngineerПрофессии и разделы
Короткий ответ

Ключ выбирают по наиболее частым и селективным фильтрам, жизненному циклу данных и способу загрузки. Хорошее партиционирование позволяет читать только нужные разделы и поддерживает предсказуемый размер каждой партиции.

Слишком высокая cardinality создаёт множество мелких файлов и дорогой metadata overhead; низкая — заставляет сканировать лишнее. Нужно учитывать skew и hot partitions, особенно при потоковой записи.

01 · Структура ответа

Что важно сказать интервьюеру

Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:

Partition pruning должен соответствовать запросам.
Размер партиции важнее красивой схемы.
Дата не всегда лучший ключ.
Skew ломает равномерный parallelism.

02 · Пример

Как объяснить на практике

Для событий, которые почти всегда читают по дню и стране, начинаю с event_date и проверяю объём по country. Не добавляю user_id: это породит слишком много партиций.

Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.

03 · Ошибки

Чего избегать в ответе

Партиционировать по уникальному ID.
Не учитывать поздние события.
Оптимизировать один запрос ценой всех остальных.

04 · Углубление

Что могут спросить следом

  1. Что такое compaction?
  2. Как бороться с small files?
  3. Partitioning и clustering — одно и то же?

Практика ответа

Ответьте вслух, а не про себя

Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с опорой.

Потренировать ответ