Вывод таблицы кустов в HDFS в виде одного файла - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь вывести содержимое таблицы в hive в hdfs в виде одного файла CSV, однако, когда я запускаю приведенный ниже код, он разбивает его на 5 отдельных файлов по ~ 500 МБ каждый. Я что-то упускаю с точки зрения вывода результатов в виде одного файла CSV?

set hive.execution.engine=tez;
set hive.merge.tezfiles=true;
INSERT OVERWRITE DIRECTORY  "/dl/folder_name"
row format delimited fields terminated by ','
select * from schema.mytable;

1 Ответ

1 голос
/ 01 февраля 2020

Добавьте orderby в ваш запрос на выбор, тогда Hive заставит запустить single reducer, что создаст только один файл в каталоге HDFS.

INSERT OVERWRITE DIRECTORY  "/dl/folder_name"
row format delimited fields terminated by ','
select * from schema.mytable order by <col_name>;

Примечание:

Если количество строк в выходных данных слишком велико, single reducer может занять очень много времени для завершения sh.

...