我的流媒体工作中有3个执行者,这是从Kafka那里消耗的。执行程序数取决于主题中的分区数。当从该主题消耗一条消息时,我将在Hazelcast上开始查询。每个执行程序都通过对hazelcast的某些过滤操作找到结果,并返回重复的结果。因为当执行程序返回数据并且其他执行程序找到相同的数据时,数据状态不会更新。
我的问题是,有没有一种方法可以将所有结果仅合并到执行者在流传输过程中找到的一个列表中?
答案 0 :(得分:0)
Spark执行程序分布在整个群集中,因此,如果您尝试在整个群集中重复数据删除。因此,重复数据删除非常困难。您有以下选择
我希望这对您有帮助
答案 1 :(得分:0)
为避免重复数据读取,您需要将偏移量保持在HBase中首选的位置,并且每次从Kafka使用数据时,都应从HBase读取数据,然后检查已消耗的每个主题的偏移量,然后开始读取并编写它。每次成功写入后,必须更新偏移量计数。
您认为这样可以解决问题吗?