【发布时间】:2016-03-04 10:02:13
【问题描述】:
我有一列中有一个空值的数据集:
price time id
1 12:00:00 id1
10 12:00:00 id2
NULL 12:05:00 id1
NULL 12:05:00 id2
NULL 12:10:00 id2
2 12:10:00 id1
3 12:15:00 id1
NULL 12:20:00 id1
NULL 12:25:00 id1
4 12:30:00 id1
我想为 Pig 或 Hive 中的每个 id/时间添加先前已知行值的 null 行。
所以,输出应该是:
price time id
1 12:00:00 id1
10 12:00:00 id2
**1** 12:05:00 id1
**10** 12:05:00 id2
**10** 12:10:00 id2
2 12:10:00 id1
3 12:15:00 id1
**3** 12:20:00 id1
**3** 12:25:00 id1
4 12:30:00 id1
非常感谢。
编辑:这是我在蜂巢中运行的:
Select price,time, id,last_value(price,true) over (partition by id order by time) as LatestPrice from table;
对于某些行(1000 行)运行良好,但对于更大的集合(24 M 行),在完成 100% 映射器和 100% 缩减器后,该作业仍在过去 1 天运行。有什么建议吗?
【问题讨论】:
-
你能展示一些你迄今为止尝试过的代码吗?
-
我看起来像:从表中选择价格、时间、id、last_value(price) over (partition by id order by time) as LatestPrice 从表中;
标签: hive apache-pig