【发布时间】:2020-04-13 10:58:41
【问题描述】:
我正在尝试从结构化流数据集中删除迟到的数据。
使用spark的withWatermark函数没有帮助,后期数据不掉。
我的数据集在事件时间列上没有聚合,所以这可能是原因,根据sparksinternals,水印用于状态管理,但我想用它来丢弃迟到的数据。
还有其他方法可以强制 spark 尊重水印吗?
在日志中我看到应用了水印(我之前正在发送数据以更新水印):
"eventTime" : {
"avg" : "2020-04-08T14:10:01.532Z",
"max" : "2020-04-12T02:10:01.532Z",
"min" : "2020-04-05T02:10:01.532Z",
"watermark" : "2020-04-09T02:00:01.532Z"
}
但旧事件仍会写入结果中。
【问题讨论】:
-
不,没有。你需要跳出框框思考。在这里和那里有些失望。
标签: apache-spark spark-structured-streaming watermark