#hadoop #hive #hiveql
#hadoop #hive #hiveql
Вопрос:
Я пытаюсь загрузить .csv
файл в hive, файл выглядит следующим образом :
Я пытался использовать load data inpath 's3://testinghiveme/T.csv' into table data;
но это приводит ко всему NULLS
Я не могу загрузить данные с большим текстом в столбец hive, я пытался использовать delimited в create script, но не работает.
create table t(id int...)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
STORED AS TEXTFILE;
hive> describe t;
OK
id int
posttypeid int
acceptedanswerid int
parentid int
creationdate varchar(20)
deletiondate varchar(20)
score int
viewcount int
body varchar(500)
owneruserid int
ownerdisplayname varchar(50)
lasteditoruserid int
lasteditordisplayname varchar(100)
lasteditdate varchar(20)
lastactivitydate varchar(20)
title varchar(100)
tags varchar(100)
answercount int
commentcount int
favoritecount int
closeddate varchar(20)
communityowneddate varchar(20)
Комментарии:
1. можете ли вы показать
describe table
?2. добавлены @VamsiPrabhalaI.
3. @GI.JOE если вы присмотритесь, у вас есть
,
(разделитель полей) в вашей полезной нагрузке. И я думаю, что это то, что портит таблицу hive. Я думаю, что ваш текст окружен кавычками, если это так, я думаю, вам лучше использоватьopencsv
serde.
Ответ №1:
Либо вам нужен пользовательский escape-символ в DDL, который доступен с CSVserde. Или вы могли бы использовать разделитель, отличный от запятой.