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

データパイプラインの指揮者たち

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for enokawa.hayato enokawa.hayato
July 13, 2024
780

 データパイプラインの指揮者たち

Avatar for enokawa.hayato

enokawa.hayato

July 13, 2024
Tweet

Transcript

  1. ⽬次 • ⾃⼰紹介 • セッションの⽬的 • Google Cloud のオーケストレーションサービス •

    各サービスでの実装 ◦ Cloud Composer ◦ Workflows • まとめ 2
  2. 1. Google Cloud のオーケストレーションサービスを知る ◦ Cloud Composer と Workflows の紹介

    2. サンプルシナリオで実装のイメージを掴む ◦ 両サービスでの実装アプローチの違い 3. サービス選択のガイドラインの提供 ◦ 要件に応じたサービス選択基準 セッションの⽬的 4
  3. Cloud Composer • Apache Airflow ベース • 複雑なワークフロー管理に最適 • 特徴:

    ◦ Python でのワークフロー定義 ◦ 柔軟なスケジューリング ◦ 豊富なモニタリング機能 7
  4. タスクの依存関係を明⽰的に定義 DAG名:sample_dag スケジュール:毎⽇実⾏(@daily) DAGファイルの作成 15 タスク①:CSVデータのロード • 機能:GCS から BigQuery

    へのデータ転送 • 使⽤オペレーター:GCSToBigQueryOpeartor タスク②:集計テーブルの作成と更新 • 機能:集計テーブルの作成と集計データの挿⼊ • 使⽤オペレーター :BigQueryExecuteQueryOperator タスクの依存関係:タスク① >> タスク②
  5. ワークフローの作成 23 ステップを順序⽴てて定義 ステップ②:CSVデータのロード • 機能:GCS から BigQuery へのデータ転送 •

    使⽤API:googleapis.bigquery.v2.jobs.insert ステップ③:集計テーブルの作成と更新 • 機能:集計テーブルの作成と集計データの挿⼊ • 使⽤API:googleapis.bigquery.v2.jobs.insert ステップ④:結果の返却 • 機能:処理完了メッセージの返却 ステップ①:初期化 • 機能:変数に値を割り当て
  6. サービス⽐較 29 Cloud Composer Workflows 基盤技術 Apache Airflow Google 独⾃

    ⾔語サポート Python(Airflow DAGs) YAML または JSON ワークフロー タスクの依存関係を明⽰的に定義 ステップを順序⽴てて定義 スケジューリング 内蔵 外部トリガー必要 複雑性 ⾼(柔軟性⼤) 低(シンプル) 統合サービス 豊富 Google Cloud 中⼼ スケーラビリティ ⼤規模向け 中⼩規模向け コスト ⾼ 低(サーバーレス)
  7. サービス選択ガイドライン 30 Cloud Composer • 複雑な依存関係を持つワークフロー • ⻑時間実⾏のバッチ処理 • 豊富なカスタマイズが必要な場合

    Workflows • シンプルで直感的なワークフロー • HTTPベースのサービス連携 • 低コストで⾼速な実⾏が必要な場合
  8. 32