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

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

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

問題
あなたはリアルタイムのプレーヤー アクティビティ データを収集するゲーム会社で働いています。このデータは Pub/Sub にストリーミングされ、分析のために処理して BigQuery に読み込む必要があります。処理には、パーティション分割された BigQuery テーブルに読み込む前のデータのフィルタリング、エンリッチメント(情報の付加)、集計が含まれます。Google が推奨するアプローチに従いながら、低レイテンシと高スループットを確保するパイプラインを設計する必要があります。どうすればよいですか。

選択肢と解説

  • 1
    Cloud Composer を使用して、Pub/Sub からデータを読み取り、Python スクリプトでデータを処理し、BigQuery に書き込むワークフローをオーケストレートする。
  • ✓
    Dataflow を使用して、Pub/Sub からデータを読み取り、データを処理し、ストリーミング API を使用して BigQuery に書き込むストリーミング パイプラインを作成する。
  • 3
    Dataproc を使用して、Pub/Sub からデータを読み取り、データを処理し、BigQuery に書き込む Apache Spark ストリーミング ジョブを作成する。
  • 4
    Cloud Run functions を使用して Pub/Sub トピックをサブスクライブし、データを処理し、ストリーミング API を使用して BigQuery に書き込む。

解説

【正解】B

【0からの解説】
①前提知識:Pub/Sub はメッセージを非同期にやり取りするフルマネージドのメッセージング サービスで、リアルタイムのイベント データの受け口としてよく使われます。Dataflow(Apache Beam ベースのフルマネージド データ処理サービス)はストリーミング処理に対応しており、Pub/Sub からの読み取り、フィルタリング・エンリッチメント(他データとの結合など)・ウィンドウ集計といった変換、BigQuery への書き込み(Storage Write API などのストリーミング書き込み)を 1 つのパイプラインで実行できます。オートスケーリング、1 回限りの処理(exactly-once)、遅延データの扱いなどの仕組みを備えています。「Pub/Sub → Dataflow → BigQuery」は Google がストリーミング分析の参照構成として推奨する組み合わせです。
②要件の整理:「リアルタイムのストリーミング データ(Pub/Sub)」「フィルタリング・エンリッチメント・集計という変換が必要」「パーティション分割テーブルへの読み込み」「低レイテンシかつ高スループット」「Google 推奨」です。
③正解の理由:Dataflow のストリーミング パイプラインは、変換を含む継続的な処理を低レイテンシで行い、データ量に応じて自動でスケールするため高スループットにも対応できます。サーバー管理も不要で、すべての要件を満たします。なお、変換が不要で Pub/Sub のメッセージをそのまま BigQuery に入れるだけなら BigQuery サブスクリプションも選択肢になりますが、本問のように集計やエンリッチメントが必要な場合は Dataflow が適しています。

【誤りの選択肢】
A:Cloud Composer(現 Managed Service for Apache Airflow)はワークフローのスケジュール実行とオーケストレーション(タスクの順序制御)のためのサービスで、それ自体はストリーミング データを継続的に処理するエンジンではありません。DAG をバッチ的に定期実行する形になるため、低レイテンシの要件を満たせません。
C:Dataproc(現 Managed Service for Apache Spark)の Spark Streaming でも同様の処理は実装できますが、クラスタの作成・サイジング・スケーリング・運用を自分で管理する必要があります。既存の Spark 資産の移行などの理由がない限り、フルマネージドでサーバーレスな Dataflow のほうが Google 推奨の構成です。
D:Cloud Run functions(旧 Cloud Functions)はメッセージ単位でのシンプルな処理には使えますが、複数のメッセージにまたがる集計(ウィンドウ処理)や状態の保持、高スループット時の効率的なバッチ書き込みが苦手で、同時実行数やタイムアウトの制約もあります。集計を含む大量のストリーミング処理には適しません。

【参考】
Pub/Sub から Dataflow に読み取る
ストリーミング パイプライン | Cloud Dataflow
Pub/Sub を BigQuery で使用する
← 練習問題 14
GCP-ADP の模擬問題集は全 200 問

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

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

GCP-ADP の無料公開問題

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