Попытка решить проблему с небольшими файлами путем сжатия файлов под разделов улей путем вставки команды перезаписи раздела в hadoop.улей уплотнения с использованием вставки переписать раздел
Запрос:
SET hive.exec.compress.output=true;
SET mapred.max.split.size=256000000;
SET mapred.output.compression.type=BLOCK;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
set hive.merge.mapredfiles=true;
set hive.merge.size.per.task=256000000;
set hive.merge.smallfiles.avgsize=256000000;
INSERT OVERWRITE TABLE tbl1 PARTITION (year=2016, month=03, day=11)
SELECT col1,col2,col3 from tbl1
WHERE year=2016 and month=03 and day=11;
Входные файлы:
Для целей тестирования у меня есть три файла под улья раздела (2016/03/11) в HDFS с размером 40 МБ каждый.
2016/03/11/file1.csv
2016/03/11/file2.csv
2016/03/11/file3.csv
Пример мой блок size is 128, поэтому я хотел бы создать только один выходной файл. Но я получаю 3 разных сжатых файла.
Пожалуйста, помогите мне получить конфигурацию улья, чтобы ограничить размер выходного файла. Если я не использую сжатие, я получаю единственный файл.
Hive Версия: 1,1
#Salmonerd, как вы сказали, что нет редуктора не работает, потому что его карта только работа, я в основном пытаюсь решить проблему небольших файлов путем объединения в более крупные файлы с помощью вставки перезаписать в улом раздела. Позвольте мне попробовать настройки, предложенные вами, и я вернусь. –
Работает как и ожидалось. Создал только один файл из нескольких небольших файлов. –
Удивительно, какие настройки вы реализовали? – Jared