Моя версия улья - 1.2.1. Я пытаюсь создать перекос таблицы, но она явно не работает. Вот мой скрипт создания таблицы: -
CREATE EXTERNAL TABLE IF NOT EXISTS mydb.mytable
(
country string,
payload string
)
PARTITIONED BY (year int,month int,day int,hour int)
SKEWED BY (country) on ('USA','Brazil') STORED AS DIRECTORIES
STORED AS TEXTFILE;
INSERT OVERWRITE TABLE mydb.mytable PARTITION(year = 2019, month = 10, day=05, hour=18)
SELECT country,payload FROM mydb.mysource;
Запрос на выборку возвращает названия стран и некоторые связанные строковые данные (полезная нагрузка). Таким образом, исходя из того, как я указал перекос в столбце «страна», я ожидал, что оператор вставки вызовет создание отдельных каталогов для США и Бразилии (запрос на выборку возвращает достаточно строк со страной, такой как США и Бразилия), но это явноне случилосьЯ вижу, что куст создал каталог с именем ' HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME ', и все значения были помещены в один файл в этом каталоге. Предполагается, что перекошенная таблица отправляет только строки со значениями по умолчанию (не указанными в операторе создания таблицы) в общий каталог (как, по-видимому, и представляет собой HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME) и должна создавать выделенные каталоги для строк с перекошенными значениями. Но вместо этого все идет в каталог по умолчанию, а другой каталог даже не создается. Нужно ли мне переключать какие-либо параметры улья, чтобы эта штука работала?