可以使用Apache Kafka汇总每个客户的每小时消费数据吗?

时间:2018-11-24 08:14:19

标签: apache-kafka apache-kafka-streams

例如每个客户的用电量。消费数据并非一直都在流式传输,而是每隔一定数量的客户最近12个小时就批量插入。插入后,我们需要汇总每位客户的每小时消费量,如果不存在某些客户的前一小时消费量,则需要找到“截止日期”消费。

1 个答案:

答案 0 :(得分:1)

您是否签出了Kafka Streams(https://kafka.apache.org/documentation/streams/)?

它允许您以数据流的形式阅读主题并在时间窗口上进行汇总:

StreamsBuilder builder = new StreamsBuilder();
builder.stream("topic-name")
  .groupByKey() // assuming the key is a customer-ID
  .windowedBy(TimeWindows.of(Duration.ofHours(1)))
  .aggregate(...); // insert business logic here