pathway

一份 Python 代码,同时跑批处理和实时流,还能接 RAG。

Pathway 是一个用 Python 编写的开源 ETL 与流处理框架,核心定位是把批处理和流处理统一到同一套代码里。它解决的是传统数据管道中批与流两套系统割裂、维护成本高的问题:用户只需写一次逻辑,就能同时处理历史数据和实时增量数据。框架底层基于 Rust 引擎,支持增量计算,数据更新时只重算受影响的部分,因此能高效支撑实时分析、IoT 监控、事件驱动应用等场景。Pathway 还内置了 LLM 管道和 RAG 能力,可以把文档、向量索引、实时数据源串成可自动更新的检索增强生成流程,让知识库随数据变化持续刷新。它提供连接器对接 Kafka、CSV、数据库等常见数据源,适合需要低延迟、持续更新的数据工程与 AI 应用团队。

开源 freemium 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 62269
维护状态 活跃
是否开源
定价模式 freemium

项目数据

分类基础设施
开发团队pathwaycom
所属国家
定价模式freemium
价格说明开源版免费,云服务按需付费,提供免费试用
访问状态
是否开源
开源协议NOASSERTION
主要语言Python
技术栈/模型batch-processing,data-analytics,data-pipelines,data-processing,dataflow,etl,etl-framework,iot-analytics,kafka,machine-learning-algorithms,pathway,python,real-time,rust,stream-processing,streaming,time-series-analysis
GitHub 星标★ 62269
30天Star增速
HF 下载量
上线时间2022-11-27 00:00:00
最近更新2026-09-18 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 3.10 或以上
  • macOS 或 Linux 系统(其他系统需在虚拟机中运行)
  • Docker(可选,用于容器化运行)

安装与启动步骤

  1. 1安装 Pathway

    在 macOS 或 Linux 上使用 pip 安装最新版 Pathway 框架。注意 Python 版本需 3.10 及以上。

    pip install -U pathway
  2. 2编写管道脚本

    新建脚本文件(如 main.py),导入 pathway 并搭建处理管道,最后调用 pw.run() 启动计算。

    import pathway as pw
    
    # 在这里编写你的处理管道
    
    pw.run()
  3. 3本地运行脚本

    像普通 Python 脚本一样运行。内置监控面板可查看各连接器发送的消息数与系统延迟。

    python main.py
  4. 4用 pathway 命令启动

    也可用 pathway 包装命令启动,原生支持多线程;用 --threads 指定线程数,例如 3 个线程。

    pathway spawn --threads 3 python main.py
  5. 5Docker 运行单文件

    单文件项目无需写 Dockerfile,直接挂载当前目录到 /app,用官方镜像执行脚本即可。

    docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
  6. 6用 Dockerfile 构建

    也可基于标准 Python 镜像写 Dockerfile:安装 Pathway、拷贝脚本并设为启动命令。

    FROM --platform=linux/x86_64 python:3.10
    
    RUN pip install -U pathway
    COPY ./pathway-script.py pathway-script.py
    
    CMD ["python", "-u", "pathway-script.py"]

如何确认成功

脚本运行后终端无报错,且监控 dashboard 能显示各连接器的消息数量与系统延迟日志。

常见问题

Q:Windows 系统可以安装吗?

A:不可以。Pathway 目前仅支持 macOS 和 Linux,其他系统的用户需要在虚拟机上运行。

Q:如何让程序使用多线程?

A:用 pathway 命令启动并指定线程数,例如 pathway spawn --threads 3 python main.py。

Q:不想写 Dockerfile 怎么用 Docker 跑?

A:单文件项目可直接用官方镜像执行:docker run -it --rm -v "$PWD":/app pathwaycom/pathway:latest python 你的脚本.py。

Q:怎样快速创建一个 Pathway 项目?

A:官方提供了 cookiecutter 模板,仓库地址为 https://github.com/pathwaycom/cookiecutter-pathway。

Q:没有本地环境可以体验吗?

A:可以在 Google Colab 中运行 Pathway 示例,链接见 README 的 Getting Started 部分。

注意事项

  • Pathway 仅在 macOS 与 Linux 上可用,Windows 用户需借助虚拟机。
  • pw.run() 是启动流式计算的必需调用,缺少它管道不会执行。
  • 官方 Dockerfile 示例使用 platform 为 linux/x86_64 的 python:3.10 基础镜像。
  • 更多示例代码可在项目仓库的 examples 目录中查看。

核心亮点

  • 批流统一:同一套 Python 代码既能回填历史数据,又能持续处理实时增量,不用维护两套管道
  • 基于 Rust 的增量计算引擎,数据更新时只重算变化部分,实时场景延迟和资源开销更低
  • 原生支持 LLM 管道与 RAG,文档索引可随数据源变化自动更新,省去手动重建向量库

不足之处

  • 生态和连接器数量相比 Flink、Spark 等成熟大数据框架仍偏少
  • Python 层抽象较重,深度调优和排查底层问题时需要理解其引擎机制

适用场景

  • 实时风控与异常检测:持续消费 Kafka 事件流,秒级更新指标并触发告警
  • 企业知识库 RAG:把内部文档和数据库变更实时同步进向量索引,问答结果始终最新
  • IoT 数据分析:对设备上报的流式数据做增量聚合与看板展示,兼顾历史回算

替代项目

Apache Flink、Apache Spark、Bytewax

项目介绍

pathway 是一个基础设施领域的开源项目,官方简介:Python ETL framework for stream processing, real-time analytics, LLM pipelines, and RAG.。项目使用 Python 开发,在 GitHub 上获得 62284 星标。

上一篇:TensorRT-Edge-LLM

下一篇:llm-d-kv-cache

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···

★ 202 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8433 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 435 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181124 2026-08-09