Dagster は、開発ライフサイクル全体を対象としたクラウドネイティブのデータ パイプライン オーケストレーターであり、統合されたリネージと可観測性、宣言型プログラミング モデル、クラス最高のテスト容易性を備えています。
テーブル、データセット、機械学習モデル、レポートなどのデータ資産を開発および保守するために設計されています。
Dagster を使用すると、構築するデータ資産を Python 関数として宣言します。 Dagster は、関数を適切なタイミングで実行し、アセットを最新の状態に保つのに役立ちます。
以下は、Python で定義された 3 つの資産のグラフの例です。
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
これにより、2 つのパッケージがインストールされます。
dagster
: コアプログラミングモデル。dagster-webserver
: Dagster のジョブとアセットを開発および操作するための Dagster の Web UI をホストするサーバー。Apple シリコン チップを搭載した Mac で実行していますか?インストールの詳細はここで確認してください。
「入門」ガイドを含む、Dagster の完全なドキュメントはここで見つけることができます。
宣言的アプローチを使用して作成する必要がある主要なアセットを特定することも、基本的なタスクの実行に集中することもできます。 CI/CD のベスト プラクティスを最初から採用し、再利用可能なコンポーネントを構築し、データ品質の問題を特定し、バグに早期にフラグを立てます。
技術的および組織的に拡張できる堅牢なマルチテナント、マルチツール エンジンを使用して、パイプラインを実稼働環境に導入します。
複雑さが増大してもデータの制御を維持します。可観測性、診断、カタログ化、リネージが組み込まれた 1 つのツールでメタデータを一元化します。問題を特定し、パフォーマンス改善の機会を特定します。
Dagster は、今日最も人気のあるデータ ツール向けに、成長を続ける統合ライブラリを提供します。すでに使用しているツールと統合し、インフラストラクチャに展開します。
Dagster を使用して構築している他の何千人ものデータ実務者とつながりましょう。知識を共有し、支援を得て、オープンソース プロジェクトに貢献します。注目の素材や今後のイベントを確認するには、Dagster コミュニティ ページをチェックしてください。
ここからコミュニティに参加してください:
開発プロジェクトの貢献または実行の詳細については、貢献ガイドをご覧ください。
Dagster は Apache 2.0 ライセンスを取得しています。