2014-01-16 1 views
0

вот мой случай:Почему у Hive нет FIELDS ENCLOSED BY, как в MySQL?

входные линии:

"vijay" <\t> "a-b-c","a-c-d","a-d-c" 

"kumar" <\t> "a-b-c","b-c-d"" 

я создал таблицу, как это:

hive >create table user_infos(name string, path ARRAY<String> --i need array only) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' COLLECTION ITEMS 
TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS TEXTFILE ; 

выход получил:

hive > select * from user_infos ; 

"vijay"  ["**\"a-b-c\"**","**\"a-c-d\"**","**\"a-d-c\"**"] 

"kumar"  ["**\"a-b-c\"**","**\"b-c-d\"**"] 

проблема состоит в следующем: я дон 't нужны двойные кавычки, то есть \ "

Требуемая мощность:

vijay ["a-b-c","a-c-d","a-d-c"] 

kumar ["a-b-c","b-c-d"] 

Есть ли почему для достижения этой цели не используется обычая Serde. Любая вещь, как ENCLOSED BY, как в mysql?

+0

Эти цитаты появляются в реальных результатах? Как в, где-то помимо REPL? – cHao

+0

В hive shell (hive>), который является REPL, когда я выполнял select, я получаю двойные кавычки. Я хочу их избежать. –

+0

+ отредактировал вопрос ясно –

ответ

1

Я тоже застрял в той же проблеме, что и мои поля, заключенные в двойные кавычки и разделенные точкой с запятой (;). Имя моей таблицы - employee1.

Итак, я искал ссылки, и я нашел идеальное решение для этого.

@ ramisetty.vijay: Да, для этого мы должны использовать серд. Пожалуйста, скачайте serde банку по этой ссылке: https://github.com/downloads/IllyaYalovyy/csv-serde/csv-serde-0.9.1.jar

затем выполните следующие шаги, используя улья подсказку:

add jar path/to/csv-serde.jar; 

create table employee1(id string, name string, addr string) 
row format serde 'com.bizo.hive.serde.csv.CSVSerde' 
with serdeproperties(
"separatorChar" = "\;", 
"quoteChar" = "\"") 
stored as textfile 
; 

, а затем загрузить данные из заданного пути, используя ниже запроса:

load data local inpath 'path/xyz.csv' into table employee1; 

, а затем запустить :

select * from employee1; 

Спасибо.

+0

Спасибо за ваши анны, но мои данные не из csv-input –

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