Hive - как мне «создать таблицу как выделение ..» с разделами из исходной таблицы? - PullRequest
1 голос
/ 06 мая 2019

Мне нужно создать «рабочий стол» из нашего улья dlk. Пока я могу использовать:

create table my_table as
select *
from dlk.big_table

просто отлично, у меня проблема с переносом разделов (атрибуты day, month и year) из оригинальной "big_table" или просто созданием новых из этих атрибутов. Поиск в Интернете не помог мне ответить на этот вопрос - все «учебные пособия» или решения касаются либо create as select ИЛИ создания разделов, но не обоих. Кто-нибудь может помочь, пожалуйста?

1 Ответ

0 голосов
/ 06 мая 2019

Создание секционированной таблицы в качестве выбора не поддерживается. Вы можете сделать это в два этапа:

  1. create table my_table like dlk.big_table; Это создаст таблицу с той же схемой.

  2. Загрузить данные.

    set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict;

    insert overwrite table my_table partition (day, month, year) select * from dlk.big_table;

...