gpt4 book ai didi

apache-spark - 如何在使用 Spark Streaming 流式传输 kafka 时对消息进行重复数据删除?

转载 作者:行者123 更新时间:2023-12-05 05:17:47 25 4
gpt4 key购买 nike

我有一个案例,Kafka 生产者每天发送两次数据。这些生产者从数据库/文件中读取所有数据并发送给 Kafka。所以这些消息每天都发送,这是重复的。我需要对消息进行重复数据删除并使用 Spark Streaming 写入一些持久存储。在这种情况下,删除重复消息的最佳方法是什么?

发送的重复消息是一个 json 字符串,时间戳字段只被更新。

注意: 我无法将 Kafka Producer 更改为仅发送新数据/消息,它已经安装在客户端机器上并由其他人编写.

最佳答案

对于重复数据删除,您需要在某处存储有关已处理内容的信息(例如消息的唯一 ID)。

要存储您可以使用的消息:

  1. 激发检查点。优点:开箱即用。缺点:如果更新应用程序的源代码,则需要清理检查点。结果,您将丢失信息。如果对去重要求不严格,方案可以解决。

  2. 任何数据库。例如,如果您在 hadoop env 上运行,则可以使用 Hbase。对于您“收到”的每条消息(检查之前是否发送过),并在真正发送时在数据库中标记为已发送。

关于apache-spark - 如何在使用 Spark Streaming 流式传输 kafka 时对消息进行重复数据删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48739605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com