Date 配置单元日期/时间戳列

Date 配置单元日期/时间戳列,date,hadoop,hive,hiveql,Date,Hadoop,Hive,Hiveql,我有一些关于HDFS的数据,我正试图通过配置单元来查询这些数据。数据以逗号分隔的文本文件形式存在。文件中的一列是日期/时间列,如下所示: Wed Aug 29 16:16:58 CDT 2018 当我尝试读取使用以下脚本创建的配置单元表时,我得到NULL作为该列的读取值 use test_db; drop table ORDERS; create external table ORDERS( SAMPLE_DT_TM TIMESTAMP ... ) row format de

我有一些关于HDFS的数据,我正试图通过配置单元来查询这些数据。数据以逗号分隔的文本文件形式存在。文件中的一列是日期/时间列,如下所示:

Wed Aug 29 16:16:58 CDT 2018
当我尝试读取使用以下脚本创建的配置单元表时,我得到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';

当我用字符串替换时间戳时,我能够读取列值。但不确定如何将其作为配置单元支持的适当日期格式读取

在Hive1.2中,您可以这样设置日期格式

ALTER TABLE ORDERS SET SERDEPROPERTIES ("timestamp.formats"="EEE MMM dd HH:mm:ss zzz yyyy");
来自文档

在表级别,可通过以下方式支持其他时间戳格式: 为SerDe属性“timestamp.formats”提供格式(自 使用HIVE-9298发布1.2.0版)。例如 yyyy-MM-dd'HH:MM:ss.SSS,yyyy-MM-dd'HH:MM:ss