【发布时间】:2019-09-05 09:41:24
【问题描述】:
我需要你帮忙做一张桌子。我在 Hive 中使用 hql 查询来加载表。有人知道加载表格吗?
表用户
START_TIME_DATE | END_TIME_DATE | USER | START_DAY_ID | END_DAY_ID
(String) (String) (Bigint) (Int) (Int)
210241 231236 1 01092019 01092019
234736 235251 2 01092019 01092019
223408 021345 3 01092019 02092019
START_TIME_DATE、END__TIME_DATE 字段指示用户在该地点的时间。这个想法是在不同的行中显示用户的每个小时,只有“小时”字段中的前两个数字。
表用户小时
DATE | HOUR | ID
(Bigint) (String) (Bigint)
01092019 21 1
01092019 22 1
01092019 23 1
01092019 23 2
01092019 22 3
01092019 23 3
02092019 00 3
02092019 01 3
02092019 02 3
目前我的查询是这样的,但它不起作用。我正在尝试“联合所有”
insert overwrite table USERHOUR
(select [start_time_date] ,[end_time_date]
from user
union all
select [start_time_date]+1,[end_time_date]
where [start_time_date]+1<=[end_time_date]
)
as hour) --generate a range between start_time_date and end_time_date and before cast to Hours,
end_day_id a date,
user as id
from table USER;
【问题讨论】:
-
01092019是什么日期格式?您应该说明您使用的数据类型。
标签: sql date datetime hive hiveql