Я пытаюсь загрузить данные из обычной таблицы в секционированную таблицу Hive.
Вот мой обычный синтаксис таблицы:
create table x(name string, date1 string);
Вот мой новый синтаксис секционированной таблицы:
create table y (name string, date1 string) partitioned by (timestamp1 string);
Вот как я загружаю данные в y:
insert into table y PARTITION(SUBSTR(date1,0,2)) select name, date1 from x;
Вот мое исключение:
FAILED: ParseException line 1:39 missing ) at '(' near ',' in column name
line 1:51 cannot recognize input near '0' ',' '2' in column name
Используйте динамическое разбиение:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
insert into table y PARTITION(timestamp1)
select name, date1, SUBSTR(date1,0,2) as timestamp1 from x;