如何使用hdfs目录创建表时指定时间戳格式

时间:2018-05-15 05:36:12

标签: hadoop hive hdfs cloudera impala

我的hdfs商店的path/to/file位置有以下csv文件。

1842,10/1/2017 0:02
7424,10/1/2017 4:06

我尝试使用以下命令创建表:

create external table t
(
number          string,
reported_time  timestamp
)
ROW FORMAT delimited fields terminated BY ',' 
LOCATION 'path/to/file';

我可以在impala查询编辑器中看到表reported_time中的t列始终为null。我想这是因为我的时间戳不是可接受的时间戳格式。

问题:

如何指定timestamp列应该是dd/mm/yyyy hh:min格式,以便正确解析时间戳?

1 个答案:

答案 0 :(得分:0)

您无法自定义时间戳(根据我的exp *),但您可以使用字符串数据类型创建表,然后您可以将字符串转换为时间戳,如下所示:

select number,
       reported_time,
       from_unixtime(unix_timestamp(reported_time),'dd/MM/yyyy HH:mm') as reported_time
from t;