开始使用 |部署|文档和支持 |博客 |执照
Pathway 是一个用于流处理、实时分析、LLM 管道和 RAG 的 Python ETL 框架。
Pathway 附带易于使用的 Python API ,允许您无缝集成您最喜欢的 Python ML 库。 Pathway 代码用途广泛且健壮:您可以在开发和生产环境中使用它,有效地处理批处理和流数据。相同的代码可用于本地开发、CI/CD 测试、运行批处理作业、处理流重播和处理数据流。
Pathway 由基于差分数据流的可扩展 Rust 引擎提供支持,并执行增量计算。尽管您的 Pathway 代码是用 Python 编写的,但它由 Rust 引擎运行,支持多线程、多处理和分布式计算。所有管道都保存在内存中,可以使用Docker 和 Kubernetes轻松部署。
您可以使用 pip 安装 Pathway:
pip install -U pathway
如有任何问题,您可以在 Discord 上找到该项目背后的社区和团队。
准备好看看 Pathway 能做什么了吗?
尝试我们易于运行的示例之一!
这些可立即启动的示例以笔记本和 Docker 格式提供,只需单击几下即可启动。选择一个,立即开始您的 Pathway 实践体验!
凭借其统一的批处理和流处理引擎以及完整的 Python 兼容性,Pathway 使数据处理变得尽可能简单。它是各种数据处理管道的理想解决方案,包括:
Pathway 提供专用的 LLM 工具来构建实时 LLM 和 RAG 管道。其中包括最常见的 LLM 服务和实用程序的包装器,使得使用 LLM 和 RAG 管道变得异常简单。查看我们的 LLM xpack 文档。
请毫不犹豫地尝试我们具有 LLM 工具的可运行示例之一。您可以在这里找到此类示例。
Pathway 需要 Python 3.10 或更高版本。
您可以使用pip
安装当前版本的 Pathway:
$ pip install -U pathway
import pathway as pw
# Define the schema of your data (Optional)
class InputSchema ( pw . Schema ):
value : int
# Connect to your data using connectors
input_table = pw . io . csv . read (
"./input/" ,
schema = InputSchema
)
#Define your operations on the data
filtered_table = input_table . filter ( input_table . value >= 0 )
result_table = filtered_table . reduce (
sum_value = pw . reducers . sum ( filtered_table . value )
)
# Load your results to external systems
pw . io . jsonlines . write ( result_table , "output.jsonl" )
# Run the computation
pw . run ()
在 Google Colab 中运行 Pathway。
您可以在这里找到更多示例。
要使用Pathway,你只需要导入它:
import pathway as pw
现在,您可以轻松创建处理管道,并让 Pathway 处理更新。创建管道后,您可以使用一行命令启动流数据的计算:
pw . run ()
然后,您可以像普通 Python 脚本一样运行 Pathway 项目(例如main.py
): $ python main.py
。 Pathway 附带一个监控仪表板,可让您跟踪每个连接器发送的消息数量以及系统的延迟。仪表板还包括日志消息。
或者,您可以使用路径版本:
$ pathway spawn python main.py
Pathway 本身支持多线程。要使用 3 个线程启动应用程序,您可以执行以下操作:
$ pathway spawn --threads 3 python main.py
要快速启动 Pathway 项目,您可以使用我们的 cookiecutter 模板。
您可以使用 docker 轻松运行 Pathway。
您可以通过 Dockerfile 使用 Pathway docker 映像:
FROM pathwaycom/pathway:latest
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python" , "./your-script.py" ]
然后您可以构建并运行 Docker 映像:
docker build -t my-pathway-app .
docker run -it --rm --name my-pathway-app my-pathway-app
在处理单文件项目时,创建完整的Dockerfile
似乎没有必要。在这种情况下,您可以使用 Pathway Docker 镜像直接执行 Python 脚本。例如:
docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
您还可以使用标准 Python 映像并使用 pip 和 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" ]
Docker 容器非常适合使用 Kubernetes 在云上部署。如果您想扩展您的 Pathway 应用程序,您可能对我们的 Pathway for Enterprise 感兴趣。 Pathway for Enterprise 专为端到端数据处理和实时智能分析而定制。它使用云上的分布式计算进行扩展,并支持分布式 Kubernetes 部署以及外部持久性设置。
您可以使用 Render 等服务轻松部署 Pathway:了解如何只需单击几下即可部署 Pathway。
如果您有兴趣,请随时联系我们以了解更多信息。
Pathway 的性能优于专为流式处理和批量数据处理任务设计的最先进技术,包括:Flink、Spark 和 Kafka Streaming。它还可以在流模式下实现许多其他流框架不易支持的算法/UDF(特别是:时间连接、迭代图算法、机器学习例程)。
如果您好奇,这里有一些可以使用的基准。
Pathway 的完整文档可在pathway.com/developers/ 上获取,包括API 文档。
如果您有任何疑问,请随时在 GitHub 上提出问题、加入我们的 Discord 或发送电子邮件至 [email protected]。
Pathway 根据 BSL 1.1 许可证分发,允许无限制的非商业用途,以及免费将 Pathway 包用于大多数商业目的。此存储库中的代码在 4 年后自动转换为开源(Apache 2.0 许可证)。一些与此互补的公共存储库(示例、库、连接器等)在 MIT 许可证下被许可为开源。
如果您开发一个库或连接器并希望与此存储库集成,我们建议首先将其作为 MIT/Apache 2.0 许可证上的单独存储库发布。
对于有关核心 Pathway 功能的所有疑虑,鼓励提出问题。如需了解更多信息,请随时联系 Pathway 的 Discord 社区。