Hive 1.1.0-cdh5.15.1从CSV加载数据时,意外的双引号会自动添加到字符串列

时间:2019-01-07 15:14:42

标签: hadoop hive cloudera-cdh

我有CSV,其中我的字符串列很少。我创建了如下的蜂巢表结构。

当我使用“在路径中加载”命令将数据加载到配置单元表时,即使字符串列不存在,它也会在字符串列周围自动添加双引号(链接到CSV的屏幕截图以供参考)。

在我的情况下,它在仓库和过程列周围添加了双引号。我尝试使用CSVSerde,但使用它后,它将所有列默认转换为字符串。

是否有任何Hive属性可用来避免这些不必要的引号?当csv中不存在它们时,为什么它们会进入表中。

配置单元表结构:

**create table if not exists epo.temp
(
asof_period string  
,period string  
,item_id    string  
,stockroom string
,process    string  
,tot_qty    decimal(11,2)   
)
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
TBLPROPERTIES ("skip.header.line.count"="1");
LOAD DATA INPATH 'Path_to_csv_file' into table epo.temp;**

CSV File screenshot

编辑-找到解决方法 我正在使用一种解决方法,在这种方法中,我将使用CSVserde的数据加载到一个临时表中,然后通过将所需数据类型的列强制转换为实际表中。但是,如果有人可以帮助我采取更清洁的方法,我将不胜感激。

0 个答案:

没有答案