模擬問題集 › GCP-ADP › 練習問題 11

GCP-ADP 練習問題 11|データ パイプラインのオーケストレーション

Associate Data Practitioner・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたはヘルスケア企業で働いています。レガシー システムから患者データを抽出し、変換して、分析用に BigQuery に読み込む日次の ETL パイプラインがあります。このパイプラインは現在、シェル スクリプトを使用して手動で実行されています。このプロセスを自動化し、パイプラインの可観測性とトラブルシューティングのための分析情報を確保するモニタリングを追加したいと考えています。ETL コードを書き直すことなく、オープンソースのツールを使用した 1 つの一元化されたソリューションを求めています。どうすればよいですか。

選択肢と解説

  • 1
    パイプラインを毎日実行する Cloud Run 関数を作成する。Cloud Monitoring を使用して関数の実行をモニタリングする。
  • 2
    Cloud Dataflow を構成して ETL パイプラインを実装し、Cloud Scheduler を使用して Dataflow パイプラインを毎日トリガーする。Dataflow ジョブ モニタリング インターフェースと Cloud Monitoring を使用してパイプラインの実行をモニタリングする。
  • 3
    Cloud Scheduler を使用して Dataproc ジョブをトリガーし、パイプラインを毎日実行する。Dataproc ジョブの Web インターフェースと Cloud Monitoring を使用してジョブの進行状況をモニタリングする。
  • ✓
    Cloud Composer で有向非巡回グラフ(DAG)を作成し、パイプラインのトリガーを毎日オーケストレーションする。Apache Airflow の Web インターフェースと Cloud Monitoring を使用してパイプラインの実行をモニタリングする。

解説

【正解】D

【0からの解説】
①前提知識:Cloud Composer(現 Managed Service for Apache Airflow)は、オープンソースのワークフロー オーケストレーション ツール Apache Airflow をフルマネージドで提供するサービスです。Airflow では処理の流れを DAG(有向非巡回グラフ)として Python で定義し、スケジュール実行・依存関係の管理・失敗時の再試行・通知を一元的に行えます。BashOperator を使えば既存のシェル スクリプトをそのままタスクとして実行でき、Airflow の Web インターフェース(UI)でタスクごとの実行状況・所要時間・ログを確認できます。さらに Cloud Composer の環境は指標やログを Cloud Monitoring / Cloud Logging に送信するため、アラート設定も可能です。

②要件と制約語の整理:(a) 日次の手動実行(シェル スクリプト)を自動化、(b) 可観測性とトラブルシューティングのためのモニタリング、(c)「1 つの一元化されたソリューション」、(d)「オープンソースのツールを使用」、(e)「ETL コードを書き直さない」。

③正解の理由:Cloud Composer の DAG で既存スクリプトを(BashOperator などで)毎日実行すれば、コードを書き直さずに自動化できます。スケジューリング・再試行・依存関係・実行履歴・ログが Airflow に一元化され、Airflow UI と Cloud Monitoring で可観測性とトラブルシューティングの情報も得られます。Airflow はオープンソースなので、すべての条件を満たすのは D です。

【誤りの選択肢】
A:Cloud Run 関数(旧 Cloud Functions)は短時間のイベント駆動処理向けで、実行時間の上限があり、長時間かかる ETL やシェル スクリプトの実行には向きません。また毎日の起動には別途 Cloud Scheduler が必要で、タスク単位の依存関係・再試行・実行履歴を一元管理するオーケストレーション機能もありません。オープンソースのツールを使うという条件も満たしません。
B:Dataflow でパイプラインを「実装する」ということは、既存の ETL を Apache Beam のコードとして書き直すことを意味し、「ETL コードを書き直さない」という条件に反します。さらにスケジュールは Cloud Scheduler、監視は Dataflow の UI と複数のサービスに分かれ、一元化されていません。
C:Dataproc(現 Managed Service for Apache Spark)は Spark / Hadoop の処理基盤で、シェル スクリプトの ETL をそのまま実行する用途ではなく、Spark ジョブとして作り直す必要が生じます。スケジューラ(Cloud Scheduler)と実行基盤(Dataproc)が分かれ、パイプライン全体の再試行や依存関係を一元管理する仕組みもありません。

【参考】
Managed Airflow の概要 | Managed Service for Apache Airflow
Airflow DAG のスケジュール設定とトリガー | Managed Service for Apache Airflow
← 練習問題 10練習問題 12 →
GCP-ADP の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-ADP の模試を受ける料金プランを見る

GCP-ADP の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15