我可以这样做:
create table newdata as
select id, min(timestamp) as time_start, max(timestamp) as time_stop
from mydata group by id;
如果timestamp
是一个数字(utc秒)。
但是,假设它是一个字符串(YYYYMMDDHH
)。
当然,我可以使用unix_timestamp
,但这似乎有点过头了,因为下一步将是
select time_start, time_stop, count(*)
from newdata group by time_start, time_stop;
我将不得不再次映射到字符串。
那么,人们对字符串min
/ max
做了什么?
答案 0 :(得分:2)
max / min方法支持字符串。
答案 1 :(得分:1)
我不知道Hive是否支持字符串min()
/ max()
。但是你的格式很好,所以只需将它们转换为数字即可:
create table newdata as
select id, min(cast(timestamp as bigint)) as time_start, max(cast(timestamp as bigint)) as time_stop
from mydata
group by id;
如果你真的想要它们作为字符串,你可以在之后将它们转换回来。