Hive查询 - 日期的第一个和最后一个输入的数据透视表

时间:2012-07-16 12:27:32

标签: database hive

从这里开始是一些示例数据

示例输入

ID      Date                   Value
10      2012-06-01 00:01:45    20
10      2012-06-01 00:01:51    12
10      2012-06-01 00:01:56    21
10      2012-06-01 00:02:01    43
10      2012-06-01 00:02:06    12
17      2012-06-01 00:02:43    64
17      2012-06-01 00:02:47    53
17      2012-06-01 00:02:52    23
17      2012-06-01 00:02:58    45
17      2012-06-01 00:03:03    34

期望输出

ID      Date
10      2012-06-01 00:01:45    2012-06-01 00:02:06    20    12
17      2012-06-01 00:02:43    2012-06-01 00:03:03    64    34

所以我希望得到第一个和最后一个日期,并将两者的值合并为一行。我的表中的ID值在以后的日期也会有其他条目,所以我只想获得一系列条目的第一个和最后一个。每个条目相隔5秒。如果它们更大,那么它就是一个新的链条。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:0)

我刚开始对此进行搜索,但看起来LATERAL VIEWEXPLODE加上可能是用户定义的函数,或者两个是你的朋友。

答案 1 :(得分:0)

我最终创建了一个MapReduce作业来处理我的数据的csv文件,而不是使用配置单元。

我根据ID“映射”。然后设置一个参数,如果数据进一步超过2小时,我将它们分开。

最后,很容易破解MapReduce代码,然后思考hive查询。