3
我想用火花结构流计算每一天的唯一的访问,所以我用下面的代码如何在结构化流媒体中过期dropDuplicates状态以避免OOM?
.dropDuplicates("uuid")
,并在第二天的状态保持今天应该被丢弃,这样我可以得到第二天唯一访问的权利数量并避免OOM。该火花文档指示使用带有水印的dropDuplicates,例如:
.withWatermark("timestamp", "1 day")
.dropDuplicates("uuid", "timestamp")
但水印列必须在dropDuplicates中指定。在这种情况下,uuid和timestamp将被用作组合键,以重复删除具有相同uuid和时间戳的元素,这不是我所期望的。
那么有没有完美的解决方案?