如何将日期和时间与时间戳分开并将其存储在配置单元的另一个表中

时间:2017-04-06 08:58:00

标签: date hadoop time hive timestamp

我在hadoop上安装了hive 2.1.1,我在其中创建了带有列名称数据的表(dis string,dt timestamp)。我想将日期和时间存储在单独的列中,因此我创建了另一个名为data1和列的表(dis string,dat date,time string)。如何将表数据中的数据复制到data1。 我试过这样做"插入表data1中选择dis,convert(date,dt),convert(time,dt)from data;"。

2 个答案:

答案 0 :(得分:0)

使用以下查询

insert into table data1 select dis,TO_DATE(dt),concat(HOUR(DT),':',MINUTE(dt)) from data;

答案 1 :(得分:0)

select dis,to_date(dt),split(dt,' ')[1]

select dis,to_date(dt),substr(dt,12,8)

<强>演示

with t as (select timestamp '2017-04-06 04:20:33' as dt) 
select to_date(dt),split(dt,' ')[1] from t;
OK
_c0 _c1
2017-04-06  04:20:33
with t as (select timestamp '2017-04-06 04:20:33' as dt) 
select to_date(dt),substr(dt,12,8) from t;
OK
_c0 _c1
2017-04-06  04:20:33