三个连续项的SQL

时间:2015-07-21 22:38:15

标签: sql hive time-series bigdata

我有一个包含(EVENT_ID, TIMESTAMP, EVENT_NAME, EVENT_SCORE)

等事件的表格

我想创建一个像(EVENT_ID1, EVENT_ID2, EVENT_ID3, EVENT_NAME, EVENT_SCORE1, EVENT_SCORE2, EVENT_SCORE3)这样的表,其中每行对应三个事件,其中

  • EVENT_ID1的TIMESTAMP小于EVENT_ID2的TIMESTAMP,
  • EVENT_ID2的TIMESTAMP小于EVENT_ID3的TIMESTAMP
  • EVENT_ID1的TIMESTAMP在TIMESTAMP for EVENT_ID3的一小时内

  • EVENT_NAME对于连续的所有3个活动都是相同的

  • EVENT_ID1& EVENT_ID3有EVENT_SCORE> 0.9

  • EVENT_ID2有一个EVENT_SCORE> 0.8

  • (EVENT_ID,EVENT_NAME)与众不同

我该如何撰写此查询?如果重要的话,我在HIVE中这样做。

一些示例数据

event_id   timestamp   event_name  event_score
1          3000        alarm       0.95  
10         3500        alarm       0.85
7          3700        noise       0.96
5          4000        alarm       0.93
20         4200        alarm       0.87
30         5000        alarm       0.87
30         8000        alarm       0.97

event_id1   event_id2   event_id3   event_name  event_score1   event_score2   event_score3
1           10          5           alarm       0.95           0.85            0.93

0 个答案:

没有答案