【发布时间】:2014-10-01 02:58:57
【问题描述】:
我对 sql/hive 很陌生。起初,我使用以下方法将一个 txt 文件加载到 hive 中:
drop table if exists Tran_data;
create table Tran_data(tran_time string,
resort string, settled double)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
Load data local inpath 'C:\Users\me\Documents\transaction_data.txt' into table Tran_Data;
txt文件中的变量tran_time是这样的:10-APR-2014 15:01。加载此 Tran_data 表后,我尝试将 tran_time 转换为“标准”格式,以便可以使用 tran_time 作为 join 键将此表连接到另一个表。所需的日期格式是“yyyymmdd”。我搜索了网上资源,发现了这个:unix_timestamp(substr(tran_time,1,11),'dd-MMM-yyyy')
所以本质上,我正在这样做:unix_timestamp('10-APR-2014','dd-MMM-yyyy')。但是,输出为“NULL”。
所以我的问题是:如何将日期格式转换为“标准”格式,然后进一步转换为'yyyymmdd'格式?
【问题讨论】: