開始使用 |部署|文檔和支援 |部落格 |執照
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 社區。