我在 HDFS 上有一些数据,我正在尝试将其设置为通过 hive 进行查询。数据采用逗号分隔文本文件的形式。文件中的一列是日期/时间列,如下所示:
Wed Aug 29 16:16:58 CDT 2018
当我尝试读取使用以下脚本创建的 Hive 表时,我得到 NULL 作为该列读取的值。
use test_db;
drop table ORDERS;
create external table ORDERS(
SAMPLE_DT_TM TIMESTAMP
...
)
row format delimited
fields terminated by ','
stored as textfile
location '/user/data';
当我用 STRING 替换 TIMESTAMP 时,我可以读取列值。但不确定如何将其读取为 Hive 支持的适当日期格式......
从 Hive 1.2 开始,您可以像这样设置日期格式。
ALTER TABLE ORDERS SET SERDEPROPERTIES ("timestamp.formats"="EEE MMM dd HH:mm:ss zzz yyyy");
来自文档。
在表级别,可以支持替代时间戳格式
向 SerDe 属性“timestamp.formats”提供格式(截至
发布 1.2.0 和 HIVE-9298)。例如,
yyyy-MM-dd'T'HH:mm:ss.SSS,yyyy-MM-dd'T'HH:mm:ss。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)