Я загружаю данные в таблицу кустов, которая содержит запятую в самих данных.
input file:emp.csv
101,deepak,kumar,das
102,sumita,kumari,das
103,rajesh kumar das
output :
id name
101 deepak kumar das
102 sumita kumari das
103 rajesh kumar das
Когда я создал приведенную ниже таблицу кустов и загрузил данные, данные поступают неправильно:
create external table hive_test(
id int, name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/hive_demo';
load data local inpath '/home/cloudera/hadoop/hive_demo/emp.csv' overwrite into table hive_test;
hive> select * from hive_test;
101 deepak
102 sumita
103 rajesh kumar das
Итак, я создал таблицу ниже, но она дает ошибку.
create external table hive_test1(
id int,
name string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES(
"separatorChar" = ",",
"quoteChar" = "'",
"escapeChar" = "\,")
STORED AS TEXTFILE
LOCATION '/hive_demo';
load data local inpath '/home/cloudera/hadoop/hive_demo/emp.csv' overwrite into table hive_test1;
select * from hive_test1;
Failed with exception
java.io.IOException:org.apache.hadoop.hive.serde2.SerDeException:
java.lang.UnsupportedOperationException: The separator, quote, and escape characters must be different!
Как загрузить данные в таблицу Hive?