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

貢獻者指南