есть ли свойство Hive / hcat для экспорта секционированных таблиц в один файл вместо каталога? - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь экспортировать таблицу с разделами. По умолчанию он генерирует количество файлов в зависимости от количества разделов. Есть ли свойство, которое я могу установить для слияния файлов, каковы факторы производительности при внесении этого изменения.

Некоторые свойства, которые я обнаружил при слиянии небольших файлов, но все они, похоже, работают внутри раздела.

set hive.merge.tezfiles=true;
set hive.merge.mapfiles=true;
set hive.merge.mapredfiles=true;
set hive.merge.size.per.task=128000000;
set hive.merge.smallfiles.avgsize=128000000;

У меня также нет возможности написать отдельный код concat для добавления файлов в конец.

1 Ответ

0 голосов
/ 27 июня 2020

, если я правильно понял ваш вопрос, вы можете выполнить select * from table_name и экспортировать результат в файл. Это будет иметь все данные вместе с именем раздела в отдельных столбцах.

beeline -u jdbc:hive2://quickstart:10000/default --quiet --outputformat=dsv --delimiterForDSV='|' --showHeader=false -e "select * from table_name" > output_file.csv

Подробнее о выходе beeline в официальном документе c.

I не думайте, что объединение всех файлов из раздела - хороший подход, так как это может привести к повреждению данных.

...