我读了官方AWS Kinesis Firehose的文档,但没有提及如何处理重复的事件。有没有人有经验呢?我搜索了一些人使用ElasticCache进行过滤,这是否意味着我需要使用AWS Lambda来封装过滤逻辑?是否有任何简单的方法像Firehose将数据摄入Redshift中,同时具有“恰好一次”的语义?非常感谢!如何对从AWS Kinesis Firehose到Redshift的记录进行重复数据删除?
回答
您可以在Kinesis Stream的两侧进行复制。您可能会将相同的事件两次放入流中,并且可能会由消费者两次读取事件。
如果您尝试将事件放入Kinesis流中,但由于某种原因,您不确定它是否成功写入,并且您决定再次放入,生产者端可能会发生。如果您正在获取一批事件并开始处理它们,并且在设法检查您的位置之前崩溃,并且下一个工作人员正在从Kinesis流中选择同一批事件(基于上一个检查点)序列ID。
在你开始解决这个问题之前,你应该评估你有多少次这样的重复以及这种重复对业务有什么影响。并非每个系统都在处理不能容忍重复的金融交易。但是,如果您决定需要重复数据删除,则解决该问题的常用方法是使用某个事件ID并追踪是否已处理该事件ID。
ElasticCache with Redis是一个跟踪事件ID的好地方。每次你选择一个事件进行处理时,你都会检查你是否已经在Redis的哈希表中找到了它,如果你找到它,就跳过它,如果你没有找到它,就把它添加到表中基于这种重复的可能时间窗口的一些TTL)。
如果您选择使用Kinesis Firehose(而不是Kinesis Streams),则不再控制消费者应用程序,并且无法实现此过程。因此,您可能希望在生产者端运行这种重复数据删除逻辑,转而使用Kinesis Streams并在Lambda或KCL中运行您自己的代码,或者在Redshift中解决重复数据删除功能(见下文)。
如果您对复制不太敏感,则可以在Redshift中使用一些函数,例如WINDOW函数中的COUNT DISTINCT或LAST_VALUE。
感谢您的回答。我的用例场景是财务计算,因此它不能容忍重复。我现在关心的是在这种重复数据删除用例中应该使用哪种类型的ElasticCache? Memcache或Redis。 –
可能Redis,更好的TPS和密钥的内存大小非常小,并且可以适合单个实例。 – Guy
- 1. 如何将记录格式化为AWS Kinesis Firehose到Redshift?
- 2. AWS Kinesis Firehose无法在Redshift中插入数据
- 3. AWS Kinesis Firehose没有在Redshift中插入数据
- 4. 如何在VPC中的Redshift群集上解除Kinesis Firehose CIDR/IP?
- 5. AWS API Gateway服务代理到Kinesis Firehose
- 6. Python重复数据删除记录 - 重复数据删除
- 7. Amazon Redshift可以自动进入Kinesis Firehose吗?
- 8. Kinesis Firehose Putrecordbatch示例
- 9. Kinesis Firehose是Kinesis Streams的替代品吗?
- 10. 如何从Kinesis批量复制数据 - > Redshift
- 11. 如何从sql表中删除除重复记录之外的重复记录?
- 12. AWS Kinesis Firehose - 使用索引旋转(Elasticsearch)
- 13. MySQL记录重复数据删除
- 14. 汽车线kinesis流kinesis firehose?
- 15. 如何扇出AWS kinesis流?
- 16. 按负载将AWS Kinesis Firehose数据分区为s3
- 17. SSIS数据流如何删除重复行但在SSIS中记录重复项
- 18. 使用Firehose将Kinesis数据流传输到S3备份
- 19. 删除“重复”记录
- 20. 重复数据删除记录,而不删除
- 21. AngularJS - 删除重复记录
- 22. 如何删除重复的数据库记录?
- 23. 从Redshift数据库中删除所有重复项
- 24. XSL删除重复记录
- 25. AWS Lambda无法连接到Kinesis Firehose“最大重试次数超过url”
- 26. 胖轨应用程序将数据记录到aws kinesis中?
- 27. 如何删除重复记录
- 28. 如何删除重复记录SQL
- 29. 如何删除重复记录
- 30. 如何删除重复(重复)记录,从表中没有编号的行
嗨!你能链接或引用这样的文件吗?谢谢。 – MattAllegro
您在这里:http://blog.flux7.com/amazon-kinesis-a-use-case –