Выбор столбца раздела - PullRequest
0 голосов
/ 18 мая 2018

У меня огромный набор данных, связанных с транзакциями.Мне нужно выбрать столбец разбиения из транзакции (увеличивается каждый день) или состояния (ограниченное количество).какой идеальный выбор и почему?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Идеальный выбор - иметь состояние в качестве столбца разделения, так как при разбиении создаются отдельные папки на основе различных значений.Следовательно, количество папок = количество состояний, поэтому хранилище метаданных для Namenode будет меньше.

но если будет учитываться дата транзакции, то каждый день будет новая папка, что в какой-то момент снизит производительность Namenode.

0 голосов
/ 18 мая 2018

Недостаток выбора транзакции_даты в качестве столбца раздела: (1) Слишком маленькие каталоги, которые могут вызывать издержки в HDFS.

Преимущества использования состояния: (1) Количество каталогов будет фиксированным.

Все зависит от того, как будет сформирован запрос для выполнения.Если ваш запрос содержит условие фильтра для транзакции_даты, а раздел отсутствует, то общее выполнение будет медленным.

Кроме того, создание раздела не гарантирует более быстрого выполнения.Результаты поиска будут возвращаться быстрее для разделов, объем данных которых меньше, чем для разделов, объем данных которых большой.

...