amazon-kinesis-firehose - Kinesis Firehose putRecord 与 putRecordBatch

标签 amazon-kinesis-firehose

我正在将 Java API 用于 Kinesis Firehose,并在可能的情况下利用 putRecordBatch()。但是,在我的应用程序中,我偶尔只发送一条记录,无法等待更多记录或将其缓存在内存中。

但是,我的代码比我想要的要复杂一些,因为我正在跟踪每个操作的成功/失败计数。 putRecordBatch 返回一个 int 值,表示发送的记录集的失败提交次数,例如4 次失败中有 2 次,而 putRecord() 要么成功,要么抛出异常。

我更喜欢在任何地方都使用 putRecordBatch() 但文档说只有在您有多个记录要提交时才使用它。

这可能有点长,但是这里有人有使用这个 API 的经验,特别是这些方法吗?你有没有做我正在考虑的事情并且只是在任何地方使用 putRecordBatch() ,即使记录集为 1?

最佳答案

我已经准确地设置了您所描述的内容:通常会发送批量调用但有时只会使用 putRecordBatch() 发送一条记录的情况。从我对文档的理解来看,他们似乎只是澄清了如果你只想发送一条记录,你应该使用 putRecord,而不是实际强制执行。从我看到的性能优势来看,只使用 putRecordBatch() — 顺便说一下,如果您需要发送 1 条记录,它可以正常工作 — 我相信您应该可以对所有提交使用 putRecordBatch()。

关于amazon-kinesis-firehose - Kinesis Firehose putRecord 与 putRecordBatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41293293/

相关文章:

amazon-web-services - Kinesis 到 S3 自定义分区

amazon-web-services - 在将数据放入Elasticsearch时如何放置用户定义的动态映射?

amazon-web-services - Amazon Kinesis Firehose 作为 cloudwatch 日志消费者

amazon-kinesis-firehose - 如何为 S3 上的 AWS Firehose 设置目标文件名?

amazon-web-services - 有没有人在使用 AWS kinesis 流、lambda 和 firehose 时遇到过数据丢失的情况?

amazon-web-services - 将数据从 Amazon Aurora 同步到 Redshift

amazon-s3 - 从 Oracle 表流式传输到 Redshift

amazon-web-services - 使用 Kinesis Firehose 时 VPC 内的 Elasticsearch 持续出现 503 错误

json - Kinesis Firehose 在没有分隔符逗号的情况下将 JSON 对象放入 S3