微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache Flink:基于先前值的过滤

如何解决Apache Flink:基于先前值的过滤

apache flink 文档中的所有过滤示例都显示了根据全局阈值进行过滤的简单案例。

但是,如果对条目进行过滤应该考虑到前一个条目呢?

假设我们有一个传感器数据流。如果当前传感器数据条目比前一个条目大 X%,我们需要丢弃当前传感器数据条目。

有没有简单的解决方案?使用 Apache Flink 或纯 Java。

谢谢

解决方法

在 flink 中,这可以通过 state 来完成。

您的用例与 flink 文档中的 fraud detection example 非常相似。

,

状态是使这成为可能的推动因素,但您还需要注意“上一个条目”的定义。如果事件摄取顺序很重要,那么这很容易实现为 RichFilterFunction 或 RichFlatMapFunction。但是,如果“上一个条目”需要考虑每个事件的时间戳,那么这将变得更具挑战性,因为您需要首先按时间戳对流进行排序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。