データオーケストレーションツール Dagsterの紹介

11.3K Views

March 05, 24

スライド概要

Data Engineering Study #23
データオーケストレーションツールDagsterの紹介
の登壇資料です

https://www.youtube.com/watch?v=RWM26j87HAs&ab_channel=DataEngineeringStudy

profile-image

データエンジニア・データアナリスト。 主にエンタープライズのデータオーケストレーションやデータモデリングなどを中心に仕事をしています。 詳細はリンク先の会社HPや記事などをご覧ください。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

データオーケストレーションツール Dagsterの紹介 2024/3/5 Data Enginnering Study #23 Data Orchestration 特集

2.

自己紹介 株式会社DataMarket 岩崎 晃 経歴 HW・OSの開発10年以上 データエンジニア7年目 データエンジニアリングの会社経営 SNS @sista05 YOUTRUST sista05 LinkdIn

3.

会社紹介 Analytics / BI Dashboard Consulting ELT/ Data infrastructure Governance / Management NPO活動支援

4.

発表内容 ・ 近年のデータエンジニアリング ・ Dagsterの概要 ・ Data Asset ・ Dagsterの機能紹介 ・ Dagster Integration ※掲載写真の引用元、補足資料は本資料の展開後に併せて掲載します ※発表内容は、株式会社DataMarketの見解となります

5.

近年のデータエンジニアリング

6.

データ業界は盛り上がっている 機械学習技術の台頭 • ChatGPTをはじめとするLLM (大規模言語モデル)処理技術の 可能性に大きな注目が集まる データはGDPで資本扱いとなる データとお金はよく似てる • • • 多いほど価値がある 指数級数的に増える 多いところにより集まる

7.

データエンジニアリングにも注目が集まっている データエンジニアにも注目が集まる ・ データ利活用が進んで、アナリスト やサイエンティスト以外にもデータ エンジニアの要請が高まっている ゴールドラッシュの教訓に学ぶ ・ データエンジニアは金を掘る人・ツ ルハシを売る(整備する)人に当たる ・ データ周りの整備の需要は尽きず、 課題は細分化しデータアーキテク ト・スチュワードも注目されそう ゴールドラッシュでは、金 を掘る人以上に、ツルハシ やジーンズを売った人が儲 かったらしい

8.

データエンジニアリングの進歩 近年のデータエンジニアリング • • • データエンジニアリングとは、 データの収集、蓄積、加工、管 理を行うためのシステムやプロ セスを設計・構築・維持する技 術 ビッグデータの蓄積(DWH)、収 集・加工(ELT/ETL)の段階で、著 名なツールやサービスが現れ、 業界内で浸透していった しかし、加工の段階にあたる支 配的なサービスは登場していな い DWH(蓄積) ELT/ETL(収集・加工)

9.

データエンジニアリングの課題 データマネジメント成熟度モデルと 業界の進歩 • • 業界全体としても、データマネ ジメント成熟度モデル(DMM)に 沿った形で進歩を感じる しかし、DMMの高レベルの段階 にあたる、定義や測定、最適化 を実現する皆が使っている有名 サービスは思いあたらない LV1:実行された システムでデータ統合が 行われている LV2:管理された データ統合計画が 文書化されている LV3:定義された データ統合計画が ルール化されている LV4:測定された 分析を指針とした 意思決定がされている LV5:最適化された ベストプラクティスが 文書化され共有されている

10.

Data Assetを統合するプラットフォーム Dagsterの提唱する データアセット中心の組織 ・ 企業のデータアセット統合にま つわる課題は多い ・ 組織(財務、etc…)、技術(言語、 レベル、リソース)の違いを統合 しなければいけない Dagsterは、データアセットを統合 するモノリシックなプラットフォー ムとなることで、データの問題を解 決しようと考える データの生産者・利用者 Data Consumers Data Asset Graph Data Owner Data Owner データを一つの画面で全て を表現 データアセットを高品質か つ最新の状態に保ち、ビジ ネスチームと連携しながら エンジニアリングプロセス Data を支援する。 Owner Data Platform Data Platform Owner インフラを管理するデータ プラットフォームチーム。 ドメインチームを支援し、 ビジネスロジックとデータ 資産にのみ集中できるよう にする

11.

Dagsterの概要

12.

Dagsterの概要 DagsterはAirflowを超える為に生まれた データオーケストレーションツール Airflowとの違い ・ システムの起動が早い ・ タスクではなくデータアセットを扱う ・ 開発体験の向上 (参考)Prefectとの違い ・ PrefectもAirflowを超えるために作られた ・ タスクオーケストレーションツールだっ たが、v2.0からデータオーケストレーシ ョンに寄せている

13.

Dagsterの利用企業、団体の例 IKEA(ドイツ) MIT(US) LINE(タイ) Zephyr AI

14.

Dagsterはデータプラットフォームである Dagsterの考え方 ・ データの世界は多数のドメインに よりサイロ化している ・ サイロではなくレイヤーとして捉 えるべき ・ レイヤ化とは、組織全体で機能を 統合しながら、そのレイヤの上で 異種ツールを柔軟に導入して利用 できるようにすること 異種ツールの統合は一つのプラットフ ォーム上で取り扱うべき Nick Schrock氏 ・ Dagsterの創始者 ・ 元Facebookのエンジニア ・ Graph QLのCo-Creator

15.

Dagsterの学習コンテンツ、コミュニティ Dagster University ・ 無料の6-10時間のコース ・ Dagster自身が使っているプロジェクト も解放されている Slack Community ・ メンバーはおよそ1万人 ・ slackでもAIが答えてくれる ・ 参加者でなくてもブラウザから閲覧可能 awesome-dagsterにも私の技術記事が掲載 されているのでぜひご活用ください

16.

Data Asset

17.

Data Asset (1) DagsterのData Assetとは Data Assetとは ・ データレイヤーを抽象化したもの ・ 企業のデータ資産(data asset)をデ ータリネージとして視覚化 ・ DBテーブル、ファイル、機械学習 モデルといった、永続ストレージ のオブジェクトをAsset Materializationすると、Dagsterの 中にメタデータを取り込める 企業にあるデータとみなせるものを一 覧で表現する機能 https://x.com/dagster/status/1747651157542244845?s=20

18.

Data Asset (2) Asset Materialization データごとに更新する頻度は違う ・ Data Asset は、dbtのようなデータ を更新する為に調整するジョブ以 外にもデータスタックが存在する 場合に特に役立つ ・ 更新頻度はデータの種別毎に違う ・ データの鮮度という概念があり、 その鮮度に従って、データを更新 するか否かを決められる ・ dbt管理外のassetでもデータの鮮度 を監視できる https://medium.com/dagster-io/dagster-and-the-decadeof-data-engineering-767ebc646327

19.

Data Asset (3) メタデータの詳細 Data Assetのメタデータ ・ 管理するメタデータは開始時間、処理 時間、Step failuresなど、その他任意 に設定可能 ・ 統計情報もグラフ化されている ・ 値のプレビューも確認できたりもする https://medium.com/dagster-io/dagster-and-the-decadeof-data-engineering-767ebc646327 Dagstermill ・ Jupyterと連携することで、notebookの グラフをそのまま利用できる ・ 他のサービスでも同じような連携がで きるような期待はある Flexible Scheduling with Automation in Data Engineering (A Dagster Deep Dive)

20.

Dagster 機能紹介

21.

Dagster 機能紹介 (1) LaunchPad と Graph LaunchPad ・ opを任意の変数・単位で実行可能 です。引数や環境変数に任意の値 を代入し、軽量のアドホック実行 を可能とします [Notes 1/2] - Dagster: Data orchestrator hands-on Graph ・ op、assetの繋がりを可視化した洗 練されたUI ・ 詳細情報としてmarkdownで説明追 記、データのpathやmetadata、統 計情報なども閲覧できる https://airbyte.com/tutorials/configure-airbyte-with-python-dagster

22.

Dagster 機能紹介 (2) Sensor と Resource Sensor ・ XならYする。というトリガー的挙 動を指します ・ たとえば、s3に任意のファイルが putされたらjobを開始するなど Introducing External Assets and Dagster Pipes -- Dagster Launch Resource ・ パイプラインと環境を分離 ・ 環境をすげかえて処理を実行でき るので、たとえば本番のデータを 部分的に使いたいなどの利用ケー スに耐えられる Resourceを書き換え るだけで、データ元 をGCSからs3に変え ることも

23.

Dagster 機能紹介 (3) Deployment Dagster Cloud Deployment • • • githubと連携し、開発イテレーシ ョンを高速に回せる location・definition単位で細かく ジョブを分けられる dev環境は幾つでも作成できる Dagster Instance(ローカル実行) • • 高速な開発イテレーション アラートやスケジュールなどの 制限機能も使える

24.

Dagster Integration

25.

Dagster Integration Platform化を実現するために、さまざ まなツールを統合しようとしている ・ Airbyte/FivetranのようなELT/ETL ツール ・ Lambdaのようなサーバレスアーキ テクチャ ・ Spark/Airflow/Prefect/Databricksな どといった他社ワークフローエン ジンまで

26.

Dagster Integration (1) Dagster x dbt dagster-dbt ・ dbtとの連携機能で、本家より も強力なビジュアライゼーシ ョンを可能にする ・ dbt_project.ymlとprofile.ymlを 読み込むだけで、データリネ ージとディレクトリ構造を表 現できる ・ Asset Jobも実行可能 ・ dbt Cloudとも連携可能 https://github.com/dagster-io/mdsfest-opensource-mds

27.

Dagster Integration (2) Dagster x Cube Cube ・ セマンティックレイヤーを提 供するSaasサービス ・ Data Assetと連携して、Cube 側にBIを表現します Cubeの特徴 ・ データモデリング、アクセス コントロールやキャッシュ機 能 ・ AIと連携し、指標の閾値自動 通知の機能も https://cube.dev/docs/product/workspace/performance

28.

Dagster Integration (3) Dagster x Secoda Secoda ・ 新興データカタログサービス ・ Assetと連携すると、Secoda の機能がさらに強化される Secodaの特徴 ・ メタデータからドキュメン ト・クエリを自動生成 ・ データ品質のモニタリング ・ 分析チームへの依頼チケット 管理や分析結果管理

29.

まとめ Dagsterが単なるパイプラインではなくて、プラットフォームであるとい う話をしました データ系のサービスは百花繚乱になってきました。 プラットフォームとして各種サービスをまとめ上げることができたら、 非常に有用なサービスになると考えます 機能を詰め込みすぎてダメになっていったサービスはたくさんあります が、Dagsterのデータプラットフォームの夢は果たして叶うのでしょう か?引き続き注視していきたいと思います

30.

参考資料 ・ データ分析がもたらした評価資本経済 ・ ESRI-政策フォーラム 第71回「新しいGDP基準:2025SNAに向 けて ・ Dagster User Stories ・ Dagster vs Airflow ・ What Dagster Believes About Data Platforms ・ Dagster and the Decade of Data Engineering ・ How Rittman Analytics Builds Data Stacks for Growth-Stage Businesses using Cube, Dagster and Preset ・ 【データカタログ界の革命!】Secodaが1.6億ドルの資金調達を達成 ※注:タイトルは1600万ドルの誤り

31.

おまけ Dagsterの成長性 https://www.libhunt.com/compare-dagster-vs-prefect