2015-11-18 6 views
0

я могу экспортировать улей результаты запроса с помощью этого:написание результатов улей запросов к HDFS

INSERT OVERWRITE LOCAL DIRECTORY '/home/user/events/' 

, но если я хочу, чтобы экспортировать его в директорию HDFS в /user/events/

, как я могу это сделать? Я попытался это:

INSERT OVERWRITE DIRECTORY '/user/user/events/' 
> row format delimited 
> fields terminated by '\t' 
> select * from table; 

но получаю эту ошибку, то:

FAILED: ParseException line 2:0 cannot recognize input near 'row' 'format' 'delimited' in statement 

ответ

1

LOCAL удалить ключевое слово - это указывает на локальную файловую систему. Без него результат будет идти в hdfs. На самом деле вам может понадобиться OVERWRITE. Итак:

INSERT OVERWRITE DIRECTORY '/user/events/'

+0

поэтому я попытался что с разделителями строк, но получила ошибку ... Я обновил этот вопрос, чтобы включить его ... – user2061886

+0

спецификации формата доступна только в '' 'режиме LOCAL'''. В не локальном режиме (то, что вам нужно) он доступен только из версии hive версии 1.2.0 (если я не ошибаюсь), поэтому, если вы используете более старую версию, вам не повезло ... см. Https: // issues. apache.org/jira/browse/HIVE-5672 – Legato

+0

Так что же улей использовать для разделителя? – user2061886

Смежные вопросы