Dagster 是一個適用於整個開發生命週期的雲端原生資料管道編排器,具有整合的沿襲和可觀察性、聲明性程式設計模型和一流的可測試性。
它旨在開發和維護資料資產,例如表格、資料集、機器學習模型和報告。
使用 Dagster,您可以將要建立的資料資產宣告為 Python 函數。然後,Dagster 可以幫助您在正確的時間運行您的功能並使您的資產保持最新狀態。
以下是用 Python 定義的三個資產的圖表範例:
from dagster import asset
from pandas import DataFrame , read_html , get_dummies
from sklearn . linear_model import LinearRegression
@ asset
def country_populations () -> DataFrame :
df = read_html ( "https://tinyurl.com/mry64ebh" )[ 0 ]
df . columns = [ "country" , "pop2022" , "pop2023" , "change" , "continent" , "region" ]
df [ "change" ] = df [ "change" ]. str . rstrip ( "%" ). str . replace ( "−" , "-" ). astype ( "float" )
return df
@ asset
def continent_change_model ( country_populations : DataFrame ) -> LinearRegression :
data = country_populations . dropna ( subset = [ "change" ])
return LinearRegression (). fit ( get_dummies ( data [[ "continent" ]]), data [ "change" ])
@ asset
def continent_stats ( country_populations : DataFrame , continent_change_model : LinearRegression ) -> DataFrame :
result = country_populations . groupby ( "continent" ). sum ()
result [ "pop_change_factor" ] = continent_change_model . coef_
return result
該圖載入到 Dagster 的 Web UI 中:
Dagster 旨在用於資料開發生命週期的每個階段 - 本地開發、單元測試、整合測試、暫存環境,一直到生產。
如果您是 Dagster 的新手,我們建議您閱讀其核心概念或透過實作教學進行學習。
Dagster 可在 PyPI 上使用,並正式支援 Python 3.9 到 Python 3.12。
pip install dagster dagster-webserver
這會安裝兩個套件:
dagster
:核心程式設計模型。dagster-webserver
:託管 Dagster Web UI 的伺服器,用於開發和操作 Dagster 作業和資產。在配備 Apple 晶片的 Mac 上運行?在此處檢查安裝詳細資訊。
您可以在此處找到完整的 Dagster 文檔,包括“入門”指南。
使用聲明性方法確定需要建立的關鍵資產,或者您可以專注於執行基本任務。從一開始就採用 CI/CD 最佳實踐:建立可重複使用元件、發現資料品質問題並儘早標記錯誤。
使用強大的多租戶、多工具引擎將您的管道投入生產,該引擎可在技術和組織上擴展。
隨著複雜性的增加,保持對資料的控制。將您的元資料集中在一款具有內建可觀察性、診斷、編目和沿襲功能的工具中。發現任何問題並確定績效改進機會。
Dagster 為當今最受歡迎的資料工具提供了一個不斷成長的整合庫。與您已使用的工具集成,並部署到您的基礎架構。
與使用 Dagster 建構的數千名其他資料從業者聯繫。分享知識、獲取協助並為開源專案做出貢獻。要查看特色材料和即將舉辦的活動,請查看我們的 Dagster 社群頁面。
在這裡加入我們的社群:
有關貢獻或運行項目進行開發的詳細信息,請查看我們的貢獻指南。
Dagster 已獲得 Apache 2.0 授權。