2016-06-23 3 views
-3

Сначала не так, но вторая в порядке. Они почти одинаковы. Их разные строки, завершенные '\ n'. Я не знаю почему. Помоги мне.Улей не может создать таблицу

enter image description here

+1

нет второго экрана, добавьте его, – piyushj

+1

все они содержатся в этом скриншоте. –

+1

@RuiLuo В следующий раз, пожалуйста, укажите фактический текст, а не снимок экрана. Таким образом, люди не могут копировать фрагменты, а также те, кто быстро попытается воспроизвести ситуацию. (В этом случае вы, вероятно, захотите отформатировать его с помощью кнопки <>) –

ответ

0

Орден

ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '\001' 
COLLECTION ITEMS TERMINATED BY '\002' 
MAP KEYS TERMINATED BY '\003' 
LINES TERMINATED BY '\n' 

ROW FORMAT DELIMITED последовательность ключевых слов, должна предстать перед любым из других статей, за исключением хранимой AS ... п.

Символ \ 001 - это восьмеричный код для^A. Предложение ROW FORMAT DELIMITED FIELDS TERMINATED BY '\ 001' означает, что Hive будет использовать символ^A для разделения полей.

Аналогично, символ \ 002 является восьмеричным кодом для^B. Предложение ROW FORMAT DELIMITED КОЛЛЕКЦИОННЫЕ ПУНКТЫ, ПРЕКРАЩЕННЫЕ «\ 002», означает, что улей будет использовать символ^B для отдельных элементов коллекции.

И, наконец, символ \ 003 является восьмеричным кодом для^C. Предложение ROW FORMAT DELIMITED КЛЮЧИ КАРТЫ, ПРЕКРАЩЕННЫЕ В '\ 003', означает, что Hive будет использовать символ^C для разделения ключей карты из значений.

Предложение LINES TERMINATED BY '...' and STORED AS ... не требует ROW FORMAT DELIMITED keywords. На самом деле, в настоящее время Hive не поддерживает какой-либо символ для ЛИНИИ ПРЕКРАЩАЕТСЯ ... кроме '\ n'. Таким образом, этот пункт сегодня имеет ограниченную полезность.

Справочник по программированию улой книги PageNo: 47

+0

Я хочу понять, почему «LINES TERMINATED by '\ n'" должны положить конец? –

+1

@RuiLuo Вопрос о том, почему он должен быть помещен туда, на него отвечает «так оно реализовано» (если я правильно понимаю). Если вы хотите знать, почему это реализовано таким образом, я не думаю, что этот вопрос будет обсуждаться на этом сайте. (В качестве вопросов о том, почему, как правило, нельзя ответить должным образом с большим количеством догадок). –