Загрузка данных из секционированной в несекционированную таблицу

Я хочу загрузить данные из секционированной таблицы в несекционированные таблицы Hive. Можно ли как-то загрузить его вместо преобразования неразделенной таблицы в секционированную?

Спасибо, Рахул


person Rahul Wagh    schedule 22.05.2017    source источник
comment
Вопрос не ясен.   -  person David דודו Markovitz    schedule 22.05.2017
comment
CTAS или вставить перезапись-выбор - хорошее решение в вашем случае. Он будет работать параллельно.   -  person leftjoin    schedule 22.05.2017
comment
У меня есть внешняя секционированная таблица куста и еще одна таблица с аналогичной схемой, но без секционированной таблицы. Теперь я хочу вставить данные из секционированной таблицы в таблицу без разделов. Но когда я пишу запрос на вставку в таблицу nonpartition_, выберите * from partition_table; получение ошибки несоответствия схемы, которая ожидается, но есть ли способ без создания таблицы разделов, я могу вставить данные в таблицу без разделов   -  person Rahul Wagh    schedule 22.05.2017
comment
(1) Почему бы вам не выбрать только соответствующие столбцы для инструкции INSERT? (2) Вы можете просто скопировать файлы из каталогов разделов в целевой каталог таблицы   -  person David דודו Markovitz    schedule 22.05.2017
comment
1] Я могу выбрать только соответствующие столбцы, но предполагаю, что если количество таблиц разделов превышает 400, а количество столбцов в каждой таблице превышает 250, то я не думаю, что это лучшая практика.   -  person Rahul Wagh    schedule 23.05.2017


Ответы (1)


Вам нужны столбцы разделов (из секционированной таблицы) как столбцы без разделов в новую таблицу (неразделенную)? Если да, то формат ниже поможет.

CREATE [ВНЕШНЯЯ] ТАБЛИЦА имя_таблицы [СОХРАНЕНО КАК ctas_file_format] [РАСПОЛОЖЕНИЕ 'hdfs_path'] КАК выбрать * из partitioned_table

Я думаю, вы можете использовать команду hdfs для перемещения данных в неразделенную таблицу.

person Satish Kumar Reddy    schedule 24.05.2017