Можете ли вы контролировать размер файла hdfs для управляемой таблицы HortonWorks HDP 3.4.1?

В настоящее время тестируется кластер, и при использовании "CREATE TABLE AS" результирующая управляемая таблица оказывается одним файлом размером ~ 1,2 ГБ, в то время как базовый файл, из которого создается запрос, содержит множество небольших файлов. Часть SELECT выполняется быстро, но тогда в результате работают 2 редуктора для создания одного файла, который занимает 75% времени выполнения.

Дополнительное тестирование:

1) Если используется "CREATE EXTERNAL TABLE AS", запрос выполняется очень быстро, и этап слияния файлов не требуется.

2) Кроме того, слияние не происходит с версией HDP 3.0.1.


person rbigley    schedule 09.11.2019    source источник
comment
Отвечает ли это на ваш вопрос? Укажите минимальное количество сгенерированных файлов из вставки Hive   -  person leftjoin    schedule 09.11.2019
comment
Также прочтите это: stackoverflow.com/a/38475807/2700344 Также прочтите это об использовании rand () в распространяемом: stackoverflow.com/a/58509772/2700344   -  person leftjoin    schedule 09.11.2019


Ответы (1)


Вы можете изменить set hive.exec.reducers.bytes.per.reducer=<number>, чтобы позволить hive определять количество редукторов в зависимости от входного размера редуктора (значение по умолчанию - 1 ГБ или 1000000000 байт) [вы можете обратиться к ссылкам, предоставленным @leftjoin, чтобы получить более подробную информацию об этом свойстве и точную настройку для вашего потребности]

Другой вариант, который вы можете попробовать, - изменить следующие свойства

set mapreduce.job.reduces=<number>
set hive.exec.reducers.max=<number>

person Naga    schedule 09.11.2019