我需要将所有记录从各种服务器放入 kinesis 中,并且需要将数据输出到多个 S3 文件中。我一直在尝试使用 ShardID,但是无法成功。
能否请你帮忙????
Python/Java 会很好。
我需要将所有记录从各种服务器放入 kinesis 中,并且需要将数据输出到多个 S3 文件中。我一直在尝试使用 ShardID,但是无法成功。
能否请你帮忙????
Python/Java 会很好。
ShardID 没那么重要。
对于每个分片,您的数据将分散在各个分片上,因此它与容量有关。这些分片不会影响您的输入和输出结果。(它也会在哈希 - 分区 - 键的帮助下影响并行化,但这是另一回事,我不是在解释这一点以免混淆。)
您应该关注生产者(即输入)部分中的“put_record”或“put_records”方法;以及在消费者端发出的记录(即输出)。您不必担心记录通过了哪个分片,您只需在消费者端获取记录并根据您的业务需求进行处理。
使用 Kinesis 客户端库 ( https://github.com/awslabs/amazon-kinesis-client ) 是这种抽象的最佳选择。
GitHub Amazon Kinesis 连接器 ( https://github.com/awslabs/amazon-kinesis-connectors )上还有一个示例项目,它使用数据并将其上传到 S3。