Hive 查询从字符串中分别提取日期和时间

Har*_*ish 2 hadoop hive hiveql

我需要从配置单元中的字符串列中提取日期和小时。

桌子: 在此输入图像描述

select TO_DATE(from_unixtime(UNIX_TIMESTAMP(dates,'dd/MM/yyyy'))) from dates;

output:

0016-01-01
0016-01-01

select TO_DATE(from_unixtime(UNIX_TIMESTAMP(dates,'hh'))) from dates;

output:

1970-01-01
1970-01-01
Run Code Online (Sandbox Code Playgroud)

请告知如何从表列中单独获取日期和时间。

Dav*_*itz 5

我已将数据样本更改为更合理的内容

with dates as (select explode(array('1/11/16 3:29','12/7/16 17:19')) as dates)

select  from_unixtime(unix_timestamp(dates,'dd/MM/yy HH:mm'),'yyyy-MM-dd')  as the_date
       ,from_unixtime(unix_timestamp(dates,'dd/MM/yy HH:mm'),'H')           as H
       ,from_unixtime(unix_timestamp(dates,'dd/MM/yy HH:mm'),'HH')          as HH

from    dates
Run Code Online (Sandbox Code Playgroud)
+------------+----+----+
|  the_date  | h  | hh |
+------------+----+----+
| 2016-11-01 |  3 | 03 |
| 2016-07-12 | 17 | 17 |
+------------+----+----+
Run Code Online (Sandbox Code Playgroud)