我有一张这样的 hive table
id, index, p
1, 1, 0.2
1, 2, 0.1
1, 3, 0.3
1, 4, 0.1
2, 1, 0.2
2, 2, 0.3
2, 3, 0.4
对于每个 id
,我想计算如下:
\sum_{i=1}^n(\prod _{k=1}^{i-1}(1-p_k))
例如,例如 id=2
,这将是 p_1 + (1-p_1)*p2 + (1-p_1)*(1-p_2)*p3
因为它只有三种可能性。有没有一种方法可以在配置单元中使用窗口功能来实现这一点?
1条答案
按热度按时间4ktjp1zp1#
您可以尝试使用带有窗口、按id分区和按索引排序的产品。我不确定product是否有聚合函数,但如果没有,可以使用log+sum+exp来获得相同的效果。