Hive Dynamic Partition table проблема с изменяющимся разделом - PullRequest
1 голос
/ 30 сентября 2011

У меня есть таблица с динамическим разделом «кампания» и статическими разделами год и месяц (это означает, что я даю значение при вставке / создании разделов).

'ABC' Разделение на (год = '2011', месяц = ​​'08 ', кампания)

Поскольку динамический раздел поддерживается только тогда, когда за ним следуют статические разделы, а именно год и месяц. Но мой вариант использования противоположен

Я хочу что-то вроде этого -> Разделение 'ABC' (кампания, год = '2011', месяц = ​​'08 ')

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

Случайно ИЛИ какой-нибудь другой вариант, с помощью которого я могу это сделать? как то так ??

ALTER TABLE ABC PARTITION (y = '2011', m = '08', кампания) RENAME / ALTER PARTITIONs (кампания, y = '2011', m = '08 ');

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Раздел не определен как статический или динамический в метастазах;Просто запросы INSERT / LOAD определяют разделы как статические или динамические.Вы можете запустить вставку, которая использует полностью динамические разделы, используя SET hive.exec.dynamic.partition=nonstrict.

См .: https://cwiki.apache.org/confluence/display/Hive/Tutorial

1 голос
/ 28 сентября 2017

если вы установите свой раздел в режим strict, вы можете выполнить его

SET hive.exec.dynamic.partition=strict

НО, если вы установите нестрогий режим и будете выполнять динамически, то

SET hive.exec.dynamic.partition=nonstrict

Мы не можем выполнить1008 * на динамическом разделе.

...