gpt4 book ai didi

apache-kafka-streams - Apache Kafka Streams 中特定分区的聚合

转载 作者:行者123 更新时间:2023-12-02 00:55:32 25 4
gpt4 key购买 nike

假设我有一个名为 SensorData 的 Kafka 主题,两个传感器 S1 和 S2 将数据(时间戳和值)发送到两个不同的分区,例如S1 -> P1 和 S2 -> P2。现在我需要分别聚合这两个传感器的值,比如说计算 1 小时时间窗口内的平均传感器值并将其写入新主题 SensorData1Hour。在这种情况下

  1. 如何使用 KStreamBuilder#stream 方法选择特定主题分区?
  2. 是否可以对同一主题的两个(多个)不同分区应用某些聚合函数?

最佳答案

您不能(直接)访问单个分区,也不能(直接)在多个分区上应用聚合函数。

聚合始终按完成:http://docs.confluent.io/current/streams/developer-guide.html#stateful-transformations

  1. 因此,您可以为每个分区使用不同的 key ,而不是按 key 聚合。请参阅http://docs.confluent.io/current/streams/developer-guide.html#windowing-a-stream

最简单的方法是让每个生产者立即对每条消息应用一个 key 。

  • 如果要聚合多个分区,首先需要设置一个新键(例如,使用 selectKey()),并为要聚合的所有数据设置相同的键(如果您想要要聚合所有分区,您可以使用单个键值 - 但是,请记住,这可能很快就会成为瓶颈!)。
  • 关于apache-kafka-streams - Apache Kafka Streams 中特定分区的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38990218/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com