DATE

问题描述 投票:0回答:1

我有两张表。我为每个日期和类别对在 表2 我想计算从当天开始计算的该类别过去一周和两周的记录数。

表1

| DATE         |Category |
|--------------|---------|
|2018-10-01    |ABC1     |
|2018-10-03    |ABC1     |
|2018-10-05    |ABC2     |
|2018-10-07    |ABC1     |
|2018-10-08    |ABC1     |
|2018-10-11    |ABC2     |
|2018-10-16    |ABC1     |
|2018-10-19    |ABC2     |
|2018-10-20    |ABC1     |
|2018-10-22    |ABC2     |
|2018-10-30    |ABC1     |

表2

| Category     |DATE           |
|--------------|---------------|
|ABC1          |2018-10-30     |
|ABC2          |2018-10-24     |
|ABC1          |2018-10-23     |
|ABC2          |2018-10-21     |

最终结果应该是这样的

| Category     |DATE           |past_week  | past_2_weeks  |
|--------------|---------------|-----------|---------------|
|ABC1          |2018-10-30     |1          |3              |
|ABC2          |2018-10-24     |1          |1              |
|ABC1          |2018-10-23     |2          |2              |
|ABC2          |2018-10-21     |1          |1              |

我知道在SQL中可以使用相关的内联子查询来实现,但是hive没有这个功能。有什么优化的方法吗?

数据集非常大,例如,表1有超过500000行,表2有大约20000行。还有许多其他类别也可以使用(约160个)。我只想向你展示这些表的样子。

hadoop hive hiveql
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.