Hive Как создать таблицу при использовании каталога перезаписи вставки? - PullRequest
0 голосов
/ 26 июня 2018

Мне интересно, возможно ли создать (вставить перезаписать) таблицу, когда вы делаете вставку перезаписать каталог?В таблице должны быть те же данные, что и в каталоге.Прямо сейчас у меня есть что-то вроде:

INSERT OVERWRITE DIRECTORY somepath
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
SELECT * FROM Table LIMIT 5;

Я хотел бы иметь что-то вроде:

INSERT OVERWRITE DIRECTORY somepath AND Table sometable
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
SELECT * FROM SOMETABLE LIMIT 5;

Может кто-нибудь предложить, если это возможно.Спасибо!

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете сделать это, используя многостоловую вставку .Hive можно вставлять в несколько таблиц и каталогов за один прогон.Многостоловые вставки сводят к минимуму количество необходимых сканирований данных.Hive может вставлять данные в несколько таблиц / каталогов, сканируя входные данные только один раз (и применяя различные операторы запросов) к входным данным.

Например, приведенный ниже оператор записывает в таблицу и в каталог в одном выражении (проверено):

from 
(select 1 id, 'Santhosh' value union all
select 2 id, 'Rajesh' value union all
select 3 id, 'Valeriy' value )s

insert overwrite table test_1 select s.id, s.value

insert overwrite directory  'hdfs://your_dir/test_2' 
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
select s.id, s.value;

Вы также можете указать индивидуальное ГДЕ в каждом выборе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...