模擬問題集 › GCP-PDE › 練習問題 7

GCP-PDE 練習問題 7|データ処理システムの設計

Professional Data Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたの会社では、大規模なオンプレミスのデータ ウェアハウスを BigQuery に移行することを計画しています。データは現在、独自のベンダー固有の形式で保存されています。このデータを BigQuery へバッチ移行する必要があります。どうすればよいですか?

選択肢と解説

  • 1
    bq コマンドライン ツールを使用して、オンプレミスのデータ ウェアハウスからデータを直接読み込む。
  • ✓
    データを CSV ファイルにエクスポートし、ファイルを Cloud Storage にアップロードしてから、BigQuery に読み込む。
  • 3
    BigQuery Data Transfer Service を使用する。
  • 4
    Datastream を使用してデータをリアルタイムで複製する。

解説

【正解】B

【0からの解説】
①前提知識
・BigQuery にデータを入れる最も基本的な方法は「バッチ読み込み(load ジョブ)」です。Cloud Storage(またはローカル)に置いたファイルを、BigQuery のテーブルに一括で取り込みます。読み込みに対応するファイル形式は CSV、改行区切り JSON、Avro、Parquet、ORC、Datastore / Firestore のエクスポートなど、オープンで汎用的な形式です。特定ベンダーのデータ ウェアハウス(DWH)が内部で使う独自形式のファイルは、そのままでは BigQuery が解釈できません。
・BigQuery Data Transfer Service(DTS)は、あらかじめ用意されたコネクタがあるソース(Teradata、Amazon Redshift、Snowflake などの特定の DWH / データベース、Cloud Storage、Amazon S3、SaaS など)から、マネージドにデータを転送するサービスです。
・Datastream は、データベースの変更データ キャプチャ(CDC)を使ってサーバーレスに継続レプリケーションを行うサービスです。

②問題文の要件の整理
・大規模なオンプレミス DWH を BigQuery へ移行する
・データは「独自のベンダー固有の形式」で保存されている(BigQuery が直接読めない、特定コネクタも前提にできない)
・「バッチ移行」である(一括移行。リアルタイム同期は求められていない)

③正解の理由
Google の移行ガイド「スキーマとデータ転送の概要」では、どのデータ ウェアハウスでもスキーマとデータをファイルとして抽出でき、多くのプラットフォームは Avro や CSV のようなベンダー非依存の形式にエクスポートするツールを備えている、と説明しています。そして、DTS で特定の DWH(Amazon Redshift / Teradata)から直接読み込む場合を除き、抽出したファイルを Cloud Storage のバケットにアップロードしてから BigQuery に読み込む、という流れを標準手順としています。
独自形式のままでは BigQuery が読めないため、①ソース DWH のエクスポート機能で汎用形式(CSV)に変換 → ②Cloud Storage にステージング → ③BigQuery の load ジョブで一括読み込み、という B がどのベンダーにも適用できるバッチ移行の基本パターンです。なお実務では、スキーマ(型情報)を保持できる Avro・Parquet・ORC が CSV よりも推奨されますが、選択肢の中で「独自形式 → 汎用形式への変換 → Cloud Storage 経由で読み込み」という正しい手順を示しているのは B だけです。

【誤りの選択肢】
A:bq コマンドライン ツールは BigQuery を操作する CLI で、bq load で読み込めるのは対応形式のファイルだけです。オンプレミスの DWH に接続してデータを引き出す機能はなく、ベンダー独自の形式を解釈することもできません。
C:DTS は、コネクタが用意された特定のソースからの転送を自動化するサービスで、任意のベンダー独自形式を読み取れるわけではありません。問題文のソースは特定されていない「独自形式」であり、DTS を指定するだけでは移行できません(DTS の Cloud Storage 転送を使う場合でも、まず対応形式のファイルにエクスポートする必要があり、それは B の手順そのものです)。
D:Datastream は CDC による継続的なリアルタイム レプリケーションのサービスで、対応ソースは主に Oracle・MySQL・PostgreSQL・SQL Server などの運用データベースです。要件は「バッチ移行」であり、独自形式の DWH はそもそも対応ソースではありません。

【参考】
スキーマとデータ転送の概要
データのバッチ読み込み
BigQuery Data Transfer Service とは
← 練習問題 6練習問題 8 →
GCP-PDE の模擬問題集は全 200 問

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

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

GCP-PDE の無料公開問題

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