我有一个从kafka主题中读取的spark流数据帧,我想在每次解析新记录时删除过去5分钟的重复数据。
我知道dropDuplicates(["uid"])函数,但我不确定如何在特定的历史时间间隔内检查重复项。
我的理解是:
df = df.dropDuplicates(["uid"])要么处理当前(微)批处理读取的数据,要么处理当前正在进入内存的“任何”数据。有没有办法使用数据中的"timestamp"列来设置此重复数据消除的时间?
提前谢谢。
发布于 2020-04-21 23:20:42
df\
.withWatermark("event_time", "5 seconds")\
.dropDuplicates(["User", "uid"])\
.groupBy("User")\
.count()\
.writeStream\
.queryName("pydeduplicated")\
.format("memory")\
.outputMode("complete")\
.start()https://stackoverflow.com/questions/61346218
复制相似问题