apache/pinot

Support consumer de-aggregation in Kinesis

Open

#10,152 创建于 2023年1月19日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Java (1,234 fork)batch import
enhancementhelp wantedkinesis

仓库指标

Star
 (4,937 star)
PR 合并指标
 (平均合并 6天 7小时) (30 天内合并 186 个 PR)

描述

Kinesis supports producing aggregated (aka batched) record. Thus, kinesis consumer also has support for de-aggregating the records. Refer - https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-consumer-deaggregation.html

Kinesis provides an AggregatorUtil (https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/retrieval/AggregatorUtil.java) that can be used in the KinesisConsumer implementation. An example usage of this util can be found in the beam repo (https://github.com/apache/beam/blob/master/sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/kinesis/SimplifiedKinesisClient.java#L269)

Even though the records in the batch have the same sequence number, we can append the sub-sequence number to Pinot kinesis' StreamMessageOffset. Changes should be fairly trivial to do this.

Labels: enhancement , kinesis, help-wanted

贡献者指南