datetime—创建具有不规则日期/时间格式列的配置单元表

xyhw6mcr  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(341)

我必须从csv创建一个配置单元表,其中两列有一个日期/时间字段,格式如下:11/28/2018 8:35:23 pm或11/30/2018 5:02:17 am,等等。例如:

responseid        process_start             process_end                status

26                11/28/2018 8:35:23 PM     11/30/2018 5:02:17 AM      complete

我知道我可以先将这些字段创建为字符串,然后执行以下操作:

insert into table newtable 
select process_start, from_unixtime(unix_timestamp(process_start, 'dd-MM-yyyy HH:mm:ss')) from oldtable;

但我不太清楚该怎么处理这个问题 AM 以及 PM . 我不太确定我是否有 insert into table 语法也很正确。任何帮助都将不胜感激。

hsgswve4

hsgswve41#

使用SimpleDataFormat类文档作为格式参考。正确的格式是 'MM/dd/yyyy h:mm:ss a' ```
select from_unixtime(unix_timestamp('11/28/2018 8:35:23 PM', 'MM/dd/yyyy h:mm:ss a'))

退货:

2018-11-28 20:35:23

像这样插入到表中:

INSERT INTO TABLE newtable
select responseid,
from_unixtime(unix_timestamp(process_start, 'MM/dd/yyyy h:mm:ss a')) process_start,
from_unixtime(unix_timestamp(process_end, 'MM/dd/yyyy h:mm:ss a')) process_end,
status
from oldtable;

相关问题