我有一个用例,在这个用例中,我通过运行在emr上的flink作业(使用flink-kinesis连接器)消费来自kinesis流的事件。作业接收事件,对其进行处理并将其接收到某个数据存储。这里的处理是指应用一些转换(数据丰富)并进行聚合。我有几个问题:
如何在消耗动觉中的事件时保持幂等性?我想只做一次处理,因为在聚合值时,重复可能会给出错误的结果。我能想到的一种方法是在事件中保持主键。但为此,我需要存储处理的值并每次执行查找,这可能会降低延迟。我怎么处理?有没有别的办法解决这个问题(规模估计:我每天将有50-60万个活动进入)
对于数据丰富部分,我需要使用来自外部系统的数据。外部商店的最佳选择是什么?如何消费?我希望避免查找我正在处理的每个事件。
可能会有我想重新处理某些事件的场景。如果通过主键保持幂等性,如何处理重处理情况?
1条答案
按热度按时间col17t5w1#
我希望这可以帮助您设置与检查点相关的配置。