首页 > 解决方案 > 使用 hive 计算在一个状态下花费的时间

问题描述

我正在处理一个配置单元查询,我需要计算用户在某个状态下花费的时间。

数据看起来像这样:

在此处输入图像描述

我试图得到这样的输出:

在此处输入图像描述

我试过这样的脚本:

   select
    case when a.oldstatus = Registered and b.newstatus in 
    ('Active','Suspended','Reactive')  then              
     b.stats_changets-a.statuschagets
       ... so on for each state
     end status,
     count(*) as WithinXRange
   from
   MyTable a,b 
   where a.id = b.id
   group by event_dt

因此,b.statuschgts - a.statuschgts 给了我们或没有天数,而我又在查询中使用这些天数将其放入不同的存储桶中,如第二张图片所示。

你能帮我解决这个问题吗?

标签: hivehiveql

解决方案


推荐阅读