我想使用spark结构流来计算每天的唯一访问权限,因此我使用以下代码
.dropDuplicates("uuid")
Run Code Online (Sandbox Code Playgroud)
并且在第二天应该删除今天保持的状态,以便我可以获得第二天的唯一访问权限并避免OOM.spark文件表示使用带水印的dropDuplicates,例如:
.withWatermark("timestamp", "1 day")
.dropDuplicates("uuid", "timestamp")
Run Code Online (Sandbox Code Playgroud)
但必须在dropDuplicates中指定水印列.在这种情况下,uuid和timestamp将被用作组合键,以使用相同的uuid和timestamp对元素进行重复数据删除,这不是我所期望的.
那么有一个完美的解决方案吗?
out-of-memory duplicates apache-spark apache-spark-sql spark-structured-streaming