Как получить один файл в Hive - PullRequest
0 голосов
/ 27 августа 2018

Я попробовал процесс Hive, которые генерируют частотный ранг слов из приговоры, Я хотел бы вывести не несколько файлов, но один файл.

Я искал похожий вопрос на этом сайте, Я нашел mapred.reduce.tasks = 1, но он генерирует не один файл, а 50 файлов.

Процесс, который я попробовал, имеет 50 входных файлов и они все gzip файл.

Как мне получить один объединенный файл? Размер 50 входных файлов настолько велик, что причиной может быть какой-то предел.

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Спасибо за ваши добрые ответы, Вы действительно спасаете меня. Я пытаюсь заказать по но это занимает много времени, я жду этого Все, что мне нужно сделать, это получить один файл сделать выходной файл на вход следующий шаг, Я также собираюсь попробовать просто cat все файлы с выходов редуктора в соответствии с советом, если я сделаю это, я обеспокоен тем, что файлы уникальны и в них нет одинакового слова между файлами, и является ли это обычным файлом gzip, созданным с помощью нескольких файлов gzip.

0 голосов
/ 27 августа 2018

в вашей работе используйте Порядок По с некоторым полем.

Так что куст будет принудительно запускать только один редуктор, в результате вы получите один файл, созданный в HDFS.

hive> Insert into default.target 
         Select * from default.source
      order by id;

Для получения более подробной информации о порядке заказа по пунктам см. Ссылки this и this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...