Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AirflowでDataformを制御するポイント

 AirflowでDataformを制御するポイント

Avatar for Tech Leverages

Tech Leverages

July 25, 2025
Tweet

More Decks by Tech Leverages

Other Decks in Technology

Transcript

  1. 3 © 2025 Leverages Co., Ltd. 自己紹介 3 機密情報・転載禁止 ©

    2023 Leverages Co., Ltd. 鈴木 直澄 レバレジーズ株式会社 テクノロジー戦略室 データエンジニアリンググループ • 2022年新卒でWebアプリのエンジニア を2年経験 • 2024年にレバレジーズにデータエンジ ニアとして入社 • データ分析基盤の構築や、最近はレコ メンドシステムの構築、MLOps周りも やってます • 毎週気合い入れてサッカー見てます
  2. 4 © 2025 Leverages Co., Ltd. Contents 自己紹介
 会社紹介
 データ活用基盤


    AirflowでDataformを制御するメリット
 AirflowでDataformを制御するポイント (基本)
 AirflowでDataformを制御するポイント (発展)
 さいごに
 01. 02. 03. 04. 05. 06. 07.
  3. 6 機密情報・転載禁止 © 2025 Leverages Co., Ltd. 会社概要 検討中 オフィス⽴地や社員数等最低限の情報

    (最新の数値に更新する) デザイン調整する 社名 従業員数 代表者 資本⾦ 所在地‧拠点 グループ会社 レバレジーズ株式会社 Leverages Co.,Ltd. 3,338名(2025年4⽉現在) 岩槻 知秀 5,000万円 本社:東京都渋⾕区渋⾕2丁⽬24番12号 渋⾕スクランブルスクエア24F‧25F 国内拠点:27拠点 海外拠点:5拠点 レバテック株式会社  レバレジーズM&Aアドバイザリー株式会社 ATLIKE株式会社 レバレジーズメディカルケア株式会社 レバレジーズオフィスサポート株式会社 レバレジーズプランニングサポート株式会社 レバレジーズスタッフィング株式会社 員点動⼒(上海)⼈⼒資源有限公司 Leverages Career Mexico S.A. de C.V. Leverages Career Vietnam Co., Ltd. Leverages U.S.Inc. 会社について
  4. 7 機密情報・転載禁止 © 2025 Leverages Co., Ltd. 10年後に ⼀兆円規模を ⽬指す

    企業の安定性と成⻑性を担保する独⾃の経営戦略のもと、 創業以来、黒字経営を継続し、 2024年度は1,428億円を達成しました。 企業理念として「顧客の創造を通じて、関係者全員の幸福を追求し、 各個⼈の成⻑を促す」を掲げ、⼈の感情と向き合いながら 次の時代を創るグローバル企業を⽬指しています。 ベンチャーを牽引する成⻑で、 次代を創る企業へ 売上推移 会社について
  5. 8 機密情報・転載禁止 © 2025 Leverages Co., Ltd. ポートフォリオ経営とは、業界やビジネスモデルなどにこだわらず、 分散投資をしていく経営形態のこと。 この経営形態のメリットは、予測困難な外部変化に会社全体で衝撃を

    吸収しやすい点にあります。例えば、コロナ禍では海外事業などは打 撃を受けた⼀⽅で、IT事業や医療‧ヘルスケア事業は追い⾵を受け、 過去最⾼の売上を更新、黒字経営を継続しました。 経営のリスク分散を⾏うことで、未曾有の状況でも安定した成⻑を実 現しています。 ポートフォリオ経営による安定した 収益基盤で創業以来、黒字経営を継続 経営体制について 会社について
  6. 9 機密情報・転載禁止 © 2025 Leverages Co., Ltd. 「⻑期的に市場の成⻑性が⾒込まれること」「社会や⼈の負を解決す ること」を市場参⼊軸とし、現在は、IT、医療‧介護‧ヘルスケア、 M&A、SaaS、海外、若年層などの領域で、約50の事業を展開中。

    今後、より収益が安定し、⼤規模な投資が可能になれば、エネルギー や⾷料、宇宙産業など、世界の課題を解決するための事業を展開して いきます。 世界を視野に、 国や業界にとらわれない事業展開 事業数の推移 事業展開 事業について
  7. 10 © 2025 Leverages Co., Ltd. • データサイエンティスト:2名 • データアナリスト:5名

    • データアーキテクト:8名 • データエンジニア:5名 • AI・MLエンジニア:3名 • 機械学習研究:2名 レバレジーズのデータ関連職種 社員数3,338人(2025年4月時点)に対して、 データ職種は2025年7月時点で業務委託含め25名 10 © 2025 Leverages Co., Ltd.
  8. 12 © 2025 Leverages Co., Ltd. • ELT:Fivetran • DWH:BigQuery

    • Transform:Dataform • BI:Tableau, Looker Studio • Metadata:Dataplex • Quality Check:Dataplex • Reverse ETL:trocco • Orchestration:Airflow データ活用基盤 - 全体概要アーキテクチャ
  9. 13 © 2025 Leverages Co., Ltd. データ活用基盤 - 個別アーキテクチャ •

    全社で40近くのサービスを展開していることもあり ブランド単位でまとめつつデータ活用基盤を分割 • データ活用基盤の数は10ほど • BigQueryを中心としつつ、事業売上や関係者数、 実装時期によって少しずつアーキテクチャが異なる • 異なるビジネスモデルや売上規模でも 設計が変わらないよう共通利用できる技術を選定
  10. 15 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するメリット • そもそも、Airflowとは?? ◦

    データパイプラインやワークフローのオーケストレーションに用いられ るオープンソースのツール ◦ PythonでDAG(Directed Acyclic Graph)を定義して制御する
  11. 16 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するメリット • 弊社での、Airflowの役割 Staging

    Lake DWH Mart Semantic Layer Cloud Run Data Source Dataform 制御! 制御! BI 制御!
  12. 17 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するメリット • Airflowがなく、スケジュール実行だと起こること ◦

    データソースから、BIまでの更新処理のスケジュール管理が必要 ELT処理が8時に始まって、 20分くらいかかるから、 30分くらいからDataform を実行しないとな〜
  13. 18 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するメリット • Airflowがなく、スケジュール実行だと起こること ◦

    データソースから、BIまでの更新処理のスケジュール管理が必要 うわっ! データ量増えてELTに40分!? 1ヶ月くらい、 前々日のデータ見てたってことか、、 実行時間修正しないとだ、、
  14. 19 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するメリット • Airflowがなく、スケジュール実行だと起こること ◦

    データソースから、BIまでの更新処理のスケジュール管理が必要 処理時間を気にしないと、 また同じことが起こりそうだな〜 スケジュール管理表みたいなの必要?
  15. 20 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するメリット • DataformをAirflowで制御すると起こること ◦

    ELTが終わってから、Dataformを実行できるので、スケジューリングの 必要がない! ◦ 処理時間に依存しないので、データ量が増えても安心 ◦ エラーハンドリングなどを、Airflowに集約することができる 統合されたワークフロー管理が可能
  16. 22 © 2025 Leverages Co., Ltd. AirflowでDataformを 制御するポイント (基本) •

    制御する手順 ◦ sqlxをコンパイルする ◦ Dataformワークフローをトリガーする ◦ ワークフローのステータスを検知する 22 © 2025 Leverages Co., Ltd.
  17. 24 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (基本) • sqlxのコンパイル

    ◦ DataformCreateCompilationResultOperator を使う ▪ Dataformのリポジトリと、gitのブランチを指定する ▪ コンパイルした結果は、Airflowのワーカーインスタンスに、 勝手に保存されているので、明示的に保存する必要はなし
  18. 25 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (基本) • Dataformワークフローをトリガーする

    ◦ DataformCreateWorkflowInvocationOperator を使う ▪ Dataformのリポジトリを指定する ▪ コンパイルした結果を参照する(お作法に則る) • {{ task_instance.xcom_pull('create_compilation_result')['name'] }} ▪ ワークフローの呼び出しIDが、Airflowのワーカーインスタンスに 勝手に保存される ▪ トリガーだけ行う、ステータスは見てない!
  19. 26 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (基本) • ワークフローのステータスを検知する

    ◦ DataformWorkflowInvocationStateSensor を使う ▪ Dataformのリポジトリを指定する ▪ ワークフローの呼び出しIDを指定する(お作法に則る) • {{ task_instance.xcom_pull('create_workflow_invocation')['name'].split('/')[-1] }} ▪ 期待するステータスを指定する (ex. SUCCEEDED)
  20. 27 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (基本) • 全体像は以下のような感じ

    DataformCreateCompilationResultOperator DataformCreateWorkflowInvocationOperator DataformWorkflowInvocatio nStateSensor Dataform ステータスを監視!
  21. 28 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (基本) • (補足)

    トリガーだけした時の挙動 Airflowは成功しているが、、 Dataformは死んでる、、
  22. 31 © 2025 Leverages Co., Ltd. AirflowでDataformを 制御するポイント (発展) •

    権限のなりすまし • 複数のDataformワークフローを制御する • Airflow × Dataformの副次効果 • Airflow(2系)のつらみ 31 © 2025 Leverages Co., Ltd.
  23. 32 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (発展) • 権限のなりすまし

    ◦ DataformCreateWorkflowInvocationOperator の impersonation_chain パラメータで、Dataformを実行するサービスアカウントを指定できる ◦ 責務の分離と、最小権限の原則から、サービスアカウントを指定した方が 良いかも
  24. 33 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (発展) • 複数のDataformワークフローの制御

    ◦ 例えば、ワークフローA、ワークフローBのどちらも終わってから、 ワークフローCを実行したい時など ◦ 特別な実装は不要で、基本の反復で実装可能
  25. 34 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (発展) • Airflow

    × Dataform の副次効果 ◦ Dataformワークフローに動的にパラメータを指定することができる ▪ 例えば、環境(dev/stg/prd)ごとの実行や、期間の指定など、より 柔軟なワークフローを実装することが可能になる ◦ タスクごとに遡って再実行できるようになる ◦ 無駄な実行を抑えられるので、スキャン量の削減になる ▪ スケジュール実行の組み合わせの場合、処理頻度をあげることで データの鮮度を保つことあるかと思うが、Airflowで制御する場合 ELTの処理頻度に合わせた最低限の実行でデータの鮮度を保つこと ができる
  26. 35 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (発展) • Airflow

    × Dataform の副次効果 ◦ (補足) タスクごとに遡って再実行できるようになる 〇〇日の〇〇時の実行 を再実行できる!!
  27. 36 © 2025 Leverages Co., Ltd. AirflowでDataformを制御するポイント (発展) • Airflow(2系)のつらみ

    ◦ 癖が強く、学習コストが高い ◦ オーケストレーションに集中させないとつらい ▪ Pythonでかけるので処理をさせることもできるが、メモリを使う ような処理をすると、落ちたりする ◦ インフラの管理コストがかかる ▪ 弊社では、Cloud ComposerというGoogleのマネージドサービス を使ってます
  28. 39 © 2025 Leverages Co., Ltd. We Are Hiring! •

    まずはカジュアル面談からどうぞ! • 3年で2倍にスケールする環境で、データを使った変革を起こしましょう! • 募集職種 ◦ データサイエンティスト ◦ データアナリスト ◦ データアーキテクト ◦ データエンジニア ◦ AI・MLエンジニア ◦ 機械学習研究員
  29. 40 機密情報・転載禁止 © 2025 Leverages Co., Ltd. ビジネス グロース DX

    営業 企画 SFA 開発 CRM/MA CJM スコア リング CS システム 構築 プロ モーション プロダクト UI/UX SEO プロト タイプ Web 広告 クリエイ ティブ TV CM 電⾞ 広告 仮説 設定 レバレジーズはマーケティングやセールスといった全ての組織がインハウスで機能しており、 データ戦略が事業運営上重要なハブとなる構造になっています。 データ戦略の役割 データ戦略

  30. 41 © 2025 Leverages Co., Ltd. レバレジーズ テックブログ https://tech.leverages.jp/ データ戦略ブログ(週1更新)

    https://analytics.leverages.jp/ 全社の情報発信媒体(melev) https://melev.leverages.jp/ 情報発信しています!
  31. 43 © 2025 Leverages Co., Ltd. 参考文献 • AirflowのOperator •

    ComposerでDataformするサンプル • 「Dataform~Tableau更新ワークフローをCloud Composerで実装してみた」