hdfs—当某些值包含“,”时,将csv加载到配置单元表

dfty9e19  于 2021-06-25  发布在  Hive
关注(0)|答案(2)|浏览(387)

我正在尝试将csv加载到配置单元表中,当加载成功时,由于某些列值中的“,”而无法正确加载该表。解决这个问题的最佳方法是什么?

create table abc (col1 string, col2 int) row format delimited fields terminated by ',' tblproperties("skip.header.line.count"="1");

csv文件sample:-

col1      col2
abc,def   12
erfd      10

 load data inpath 'path_to_csv' into table abc;

预期的结果是,表在配置单元中正确填充,就像在csv中一样。

cyej8jka

cyej8jka1#

使用opencsv serde

create table abc (col1 string, col2 int) row format
SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES 
("escapeChar" = ",") ;

使用以下命令将数据加载到表中

load data local inpath 'path_to_csv' into table abc;
nwnhqdif

nwnhqdif2#

使用以下序列:
创建示例表

create table test_hive1(name String, id int)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde';

加载数据

load data local inpath 'filepath' into table test_hive1;

输出

select * from test_hive1;
name    id
abc 22
cdf, def    23
dsa 34

相关问题