我想知道是否可以计算一组 Id 的特定值的连续范围并返回每个 Id 的计算值。给定以下数据:
+----+----------+--------+
| ID | DATE_KEY | CREDIT |
+----+----------+--------+
| 1 | 8091 | 0.9 |
| 1 | 8092 | 20 |
| 1 | 8095 | 0.22 |
| 1 | 8096 | 0.23 |
| 1 | 8098 | 0.23 |
| 2 | 8095 | 12 |
| 2 | 8096 | 18 |
| 2 | 8097 | 3 |
| 2 | 8098 | 0.25 |
+----+----------+--------+
我想要以下输出:
+----+-------------------------------+
| ID | RANGE_DAYS_CREDIT_LESS_THAN_1 |
+----+-------------------------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 1 |
| 2 | 1 |
+----+-------------------------------+
在这种情况下,范围是信用小于 1 的连续天数。如果 date_key 列之间存在间隙,则范围不必采用下一个值,例如 ID 1 中介于 8096 和 8098 之间的日期键。是否可以使用 Hive 中的窗口功能来做到这一点?
提前致谢!