1

我需要将所有记录从各种服务器放入 kinesis 中,并且需要将数据输出到多个 S3 文件中。我一直在尝试使用 ShardID,但是无法成功。

能否请你帮忙????

Python/Java 会很好。

4

1 回答 1

3

ShardID 没那么重要。

  • 如果您有 20 MB/秒的输入带宽和 20000 个请求/秒的速率;你至少应该有 20 个分片。

对于每个分片,您的数据将分散在各个分片上,因此它与容量有关。这些分片不会影响您的输入和输出结果。(它也会在哈希 - 分区 - 键的帮助下影响并行化,但这是另一回事,我不是在解释这一点以免混​​淆。)

您应该关注生产者(即输入)部分中的“put_record”或“put_records”方法;以及在消费者端发出的记录(即输出)。您不必担心记录通过了哪个分片,您只需在消费者端获取记录并根据您的业务需求进行处理。

使用 Kinesis 客户端库 ( https://github.com/awslabs/amazon-kinesis-client ) 是这种抽象的最佳选择。

GitHub Amazon Kinesis 连接器 ( https://github.com/awslabs/amazon-kinesis-connectors )上还有一个示例项目,它使用数据并将其上传到 S3。

于 2015-07-13T06:59:51.130 回答