Hive - 如何存储非标准时间戳

时间:2018-01-09 17:38:55

标签: csv hive

我有一个包含时间戳的csv文件,如:

2018-01-01T12:13:14.000+01:00

我想将它们存储为Hive中的时间戳,是否可以直接执行它,或者我应该预处理csv文件以便更好地使用#34;时间戳?

以下查询无法正确存储它们:

CREATE EXTERNAL TABLE IF NOT EXISTS test_timestamps(
    timestamp TIMESTAMP, 
    name STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
location '/test_timestamps/';

谢谢

1 个答案:

答案 0 :(得分:0)

如果您想保留格式,请将其存储为timestamp STRING,并在从表中选择时使用DATE functions将其转换为所需格式。

注意:所有Hive关键字都不区分大小写,您可能希望为列使用正确的名称而不是“timestamp”。

select date_format(timestamp, "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'"),name from test_timestamps;