【发布时间】:2018-05-07 04:39:21
【问题描述】:
在 Spark 中尝试做“部分”窗口功能。
给定架构eventId、impressionTime、campaign、revenue,我想知道每个 evenId 的广告在过去 4 天内的总收入。
最后,我只在最后 3 天插入。所以我必须加载 7 天的数据(所以最早的事件有 4 天的窗口),问题是我还要计算最终范围之外的事件。
小例子: 我有 7 天的数据(第 1 天、第 2 天、第 3 天、第 4 天、第 5 天、第 6 天、第 7 天 7 天),并且在输出中只有天:7、6、5 是必需的。
我每 4 天需要一次窗口。所以我会整天加载并为他们做窗口功能。最后,我将只持续 3 天。
当然这是非常低效的,因为我也计算了窗口 第 4,3 天...
有没有对一些数据做窗口函数?
谢谢
【问题讨论】:
-
为什么不先过滤掉数据?
-
如果您的意思是添加过滤器 > 第 4 天,因为如果是这样,第 3、2、1 天将超出我的数据框,我将无法计算过去 4 天的收入4
标签: apache-spark apache-spark-sql spark-dataframe