Kafka Streams:Daily&每月转化

时间:2018-05-14 04:49:54

标签: apache-kafka apache-kafka-streams

从流中收到的数据应按每日和每月汇总。

考虑以下版本(但包括返回类型为数组的分支):

https://kafka.apache.org/0101/javadoc/org/apache/kafka/streams/kstream/KStream.html

我们如何使用transform方法执行两者?基本上,每日聚合应首先在执行月初聚合之前完成。

1 个答案:

答案 0 :(得分:2)

如果您使用的是Kafka Streams,您还可以查看基于Kafka Streams构建的KSQL。它使您可以简单地使用SQL来声明流处理,包括聚合:

CREATE TABLE DAILY_SALES_AGG AS \
SELECT STORE, PRODUCT, SUM(NETT_SALES) AS DAILY_SALES_TOTAL \
FROM SALES_STREAM WINDOW TUMBLING (SIZE 1 DAY) \
GROUP BY STORE, PRODUCT; 

CREATE TABLE MONTHLY_SALES_AGG AS \
SELECT STORE, PRODUCT, SUM(NETT_SALES) AS MONTHLY_SALES_TOTAL \
FROM SALES_STREAM WINDOW TUMBLING (SIZE 28 DAYS) \
GROUP BY STORE, PRODUCT;

有关详细信息,请参阅KSQL syntax reference,包括aggregate functions

有关KSQL的更多信息:

免责声明:我为Confluent工作,他领导开源KSQL项目的开发