pathwaycom

pathway

pathwaycom

Pathway 是一个 Python ETL 框架,统一处理批数据与流数据,适用于流处理、实时分析、LLM 管道与 RAG,底层由基于 Differential Dataflow 的 Rust 引擎驱动。

v0.32.1
发布于
2026年8月1日
62,092
星标
778
下载
同步于
8 天前

最新版本

v0.32.12026年8月1日 17:17
下载慢?可在上方随时切换镜像源

项目说明

项目概述

Pathway 是一个面向实时数据处理的 Python ETL 框架:写一套 Python 代码,既能跑批任务,也能处理 Kafka 等持续数据流,还能直接搭建 LLM 与 RAG 管道。虽然 API 是 Python,执行由基于 Differential Dataflow 的可伸缩 Rust 引擎完成,自动做增量计算,支持多线程、多进程与分布式部署,管道全程驻留内存,可用 Docker 和 Kubernetes 一键部署。开发、CI 测试、批作业、流回放用同一份代码。

项目 内容
语言 Python API(Rust 引擎)
平台 Linux、macOS、Windows,支持 Docker / Kubernetes
场景 流处理、实时分析、LLM 管道、RAG
许可 BSL 1.1

一套代码,批流统一,Rust 引擎跑出 C++ 级性能。

主要功能

  • 批流统一:同一份代码处理静态数据与持续数据流,从批切到流零改动
  • 丰富连接器:内置 Kafka、PostgreSQL、GDrive、SharePoint 等连接器,Airbyte 连接器可接入 300 多种数据源,也支持自定义连接器
  • 有状态与无状态变换:join、窗口、排序等有状态算子用 Rust 原生实现,任意 Python 函数也能直接嵌入管道
  • LLM 与 RAG 工具链:内置主流 LLM 服务封装与向量检索组件,实时数据源接入即可构建动态 RAG
  • 计算持久化:保存计算状态,管道在更新或崩溃后可断点恢复
  • 一致性保障:框架统一处理时间语义,保证计算结果一致
  • 增量计算:数据更新时只重算受影响部分,无需全量重跑
  • 可伸缩部署:Rust 引擎支持多线程、多进程与分布式,内存级性能

适用人群

  • 构建实时数据管道的数据工程师
  • 开发动态 RAG 与 LLM 应用的团队
  • 需要实时监控与告警的运维场景
  • 处理 Kafka / IoT 数据流的开发人员

快速上手

  1. 安装:pip install -U pathway
  2. 定义管道(以监听目录为例):
import pathway as pw

t = pw.io.fs.read('./input', format='csv')
result = t.groupby(t.key).reduce(total=pw.reducers.sum(t.value))
pw.io.csv.write(result, './output')
pw.run()
  1. 流式场景把数据源换成 pw.io.kafka.read 即可,其余代码不变
  2. 官方模板库提供实时 ETL、日志告警、RAG 等可直接运行的示例

核心优势

  • 开发即生产:同一份代码覆盖本地开发、CI、批作业与流处理,无需为流式重写
  • 性能强劲:Python 写代码,Rust 引擎执行,增量计算让更新代价极低
  • 部署简单:管道全内存运行,Docker 与 Kubernetes 开箱即用

系统要求

项目 要求
语言 Python
操作系统 Linux、macOS、Windows
部署 支持 Docker、Kubernetes

注意事项

  • 许可模式:采用 BSL 1.1 许可,非生产用途免费,商用与转售条款需阅读 LICENSE 确认
  • LLM 功能为 xpack:部分 LLM 高级封装在 xpack 模块中,使用前查看对应文档

历史版本

排序