ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

hive load data未正确读取到日期

hive load data未正确读取到日期

1.源数据CSV文件日期字段值:

2.hive DDL语句:

CREATE EXTERNAL TABLE `test.textfile_table1`(`id` int COMMENT '????', `name` string COMMENT '??', `gender` string COMMENT '??', `birthday` date COMMENT '????',.......)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
WITH SERDEPROPERTIES ( 'field.delim'=',', 'line.delim'='\n', 'serialization.format'=',') 
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION'hdfs://ambari-hadoop1:8020/warehouse/tablespace/external/hive/test.db/textfile_table1'
TBLPROPERTIES ('bucketing_version'='2', 'discover.partitions'='true', 'transient_lastDdlTime'='1708312247');

3.利用LOAD DATA 加载语句加载数据后发现date日期字段未被成功加载:

 

4.猜测为日期格式问题,在hive中日期格式如下YYYY-MM-DD,而CSV中是YYYY/MM/DD:

调整后成功解决。

5.原因分析:利用dbeaver三方工具导出CSV文件后,利用WPS打开编辑保存后,YYYY-MM-DD被更改为YYYY/MM/DD导致load data失败。

返回列表