跳转到主要内容

基于Faust流处理库的Kafka聚合器。

项目描述

kafka-aggregator

GitHub Actions Docker Hub repository

基于Faust Python流处理库的Kafka聚合器。

kafka-aggregator的开发基于Safir应用程序模板。

概述

kafka-aggregator使用Faust的窗口功能来聚合来自Kafka的消息流。

kafka-aggregator实现了一个Faust代理,一个“流处理器”,它将源主题的消息添加到Faust表中。该表配置为一个固定大小的窗口,表示窗口持续时间(时间间隔)和过期时间,它指定为每个窗口分配的数据存储的持续时间。每次窗口过期时,都会调用回调函数来聚合分配给该窗口的消息。窗口的大小控制了聚合流的频率。

kafka-aggregator使用faust-avro为Faust添加Avro序列化和Schema Registry支持。faust-avro可以将Faust模型解析为Avro模式。

有关更多信息,请参阅文档

变更日志

0.2.0 (2020-08-14)

  • 将第一四分位数(q1 和 q3)添加到聚合器计算出的汇总统计列表中。

  • 能够配置要计算的汇总统计列表。

  • 固定顶级需求。

  • 将 Kafka Connect 添加到 docker-compose 设置中。

  • 默认使用单个 Schema Registry 以简化本地执行。

  • 首次发布到 PyPI。

0.1.0 (2020-07-13)

首次发布 kafka-aggregator,具有以下功能:

  • 使用 Faust 窗口功能对消息流进行聚合。

  • 使用 Faust-avro 向 Faust 添加 Avro 序列化和 Schema Registry 支持。

  • 支持内部 Schema Registry 以存储聚合主题的架构(可选)。

  • 根据源主题架构和要计算的汇总统计列表创建聚合主题架构。

  • 能够从聚合主题架构动态创建 Faust 记录。

  • 能够为 Faust 代理(流处理器)自动生成代码。

  • 计算数值字段的汇总统计:min(),mean(),median(),stdev(),max()。

  • 添加示例模块以初始化 Kafka 中的多个源主题,控制每个主题中的字段数量,并在给定频率下为这些主题生成消息。

  • 使用 Kafdrop 检查源和聚合主题的消息。

  • 添加 kafka-aggregator 文档网站。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

kafka-aggregator-0.2.0.tar.gz (78.7 kB 查看哈希值)

上传时间

构建分布

kafka_aggregator-0.2.0-py3-none-any.whl (18.1 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面