Pathway
活跃简介
Pathway 是一个 Python ETL 框架,支持流处理、实时分析、LLM 管道和 RAG 应用构建。
核心特性
- Rust 引擎驱动 — 基于 Differential Dataflow 的可扩展 Rust 引擎,支持多线程、多进程和分布式计算
- 统一批流处理 — 同一份代码可用于本地开发、批处理作业和流数据回放,无需切换框架
- 丰富的连接器 — 内置 Kafka、GDrive、PostgreSQL、SharePoint 等连接器,Airbyte 连接器覆盖 300+ 数据源
- LLM 与 RAG 工具链 — 提供 LLM 封装器、解析器、嵌入器、分割器及内存实时向量索引,集成 LlamaIndex 和 LangChain
- 有状态转换 — 支持 joins、windowing、sorting 等有状态操作,部分操作在 Rust 中实现以提升性能
- 持久化与一致性 — 计算状态可持久化,支持崩溃恢复;社区版提供 at-least-once 一致性,企业版提供 exactly-once
适用场景
💡 构建实时 ETL 管道,从 Kafka 等消息队列中持续处理和转换数据流
💡 搭建私有 RAG 应用,利用 Ollama 和 Mistral AI 实现基于文档的实时问答系统
💡 将非结构化数据实时转换为结构化 SQL 查询,支持动态数据分析
💡 构建自适应 RAG 系统,根据查询复杂度自动选择检索策略
💡 实现多模态 RAG,结合 GPT-4o 处理文本和图像混合文档
优势与不足
✅ 优势
- • 活跃维护,近期持续更新
- • 社区热度高(62.5k stars)
- • 项目有一定历史沉淀(已维护 3 年)
- • Issue 响应及时,积压少
⚠️ 不足
- • 缺少明确的开源许可证
分类
快速开始
pip install -U pathway
import pathway as pw
# 从 CSV 文件读取数据
table = pw.io.csv.read("data/input.csv")
# 对数据执行转换
result = table.select(col1=pw.this.col1, col2=pw.this.col2 * 2)
# 将结果写入输出文件
pw.io.jsonlines.write(result, "output.jsonl")
# 启动实时处理管道
pw.run()