我的spark流媒体工作中有3个执行器,它们来自Kafka。执行程序计数取决于主题中的分区计数。我开始查询Hazelcast。每个执行程序都会在hazelcast上找到一些过滤操作的结果,并返回重复的结果。因为当执行程序返回数据时数据状态不会更新,而其他执行程序找到相同的数据。
我的问题是,有没有办法将所有结果合并到执行程序在流式传输过程中找到的一个列表中?
Spark Executors分布在群集中,因此如果您尝试跨群集重复数据删除。所以重复数据删除很难。你有以下选择
使用accumulators.-这里的问题是当作业运行时累加器不一致,你最终可能会读取陈旧的数据
其他选项是将此工作卸载到外部系统。 - 将您的输出存储在一些可以对其进行重复数据删除的外部存储中。(可能是HBase)。这种存储系统的效率是关键。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。