有没有办法在 Hive CREATE TABLE 语句本身中指定传入数据的日期/时间戳格式?

2023-12-04

我有一个 CSV 文件,其中包含以下格式的日期和时间戳值。例如:

Col1|col2
01JAN2019|01JAN2019:17:34:41

但是,当我在 create 语句中将 Col1 定义为 Date,将 Col2 定义为 Timestamp 时,Hive 表只是返回NULL当我查询时。

CREATE EXTERNAL TABLE IF NOT EXISTS my_schema.my_table
(Col1 date,
Col2 timestamp)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘|’
STORED AS TEXTFILE
LOCATION 'my_path';

相反,如果我将数据类型简单地定义为string然后就可以了。但这不是我想要的桌子的样子。

我希望表能够以正确的类型读取传入的数据。我怎样才能实现这个目标?是否可以使用以下命令定义传入数据的预期数据格式CREATE声明本身?

有人可以帮忙吗?


从 Hive 1.2.0 开始,可以提供额外的 SerDe 属性"timestamp.formats"。请参阅此 Jira 了解更多详细信息:HIVE-9298

ALTER TABLE timestamp_formats SET SERDEPROPERTIES ("timestamp.formats"="ddMMMyyyy:HH:mm:ss");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 Hive CREATE TABLE 语句本身中指定传入数据的日期/时间戳格式? 的相关文章

随机推荐