2024年版【GCP資格の勉強 PDE編】BigQueryのデータ投入とは?について解説します。
(★注意:GCP資格 Professional Data Engineer(PDE)試験の公式テキスト・問題集などを元に独自にまとめたものです)
BigQueryへのデータ投入方法はさまざまあり、それぞれ特定のユースケースに適しています。以下に主な方法と、データ取込速度に関する情報をまとめます。
データ投入の方法
- データのロード: Cloud Storageからのデータ取込や、ファイルアップロードを通じて行われます。
多くのファイル形式がサポートされており、バッチ処理に適しています。 - 外部テーブルとして定義してCREATE TABLE AS SELECTを使用: Cloud Storageなどの外部ストレージに保存されたデータを、外部テーブルとして定義し、それを基に新しいテーブルを作成できます。
外部ストレージにあるデータに対して直接クエリを実行できるため、データの移動が不要で便利です。 - ストリーミング挿入: リアルタイムにデータをBigQueryに挿入します。
即時性が求められるデータ処理や、連続的なデータの流入がある環境に適しています。
データ取込の速い順
データの取込速度は、使用するファイル形式によって異なります。以下は、一般的なファイル形式のデータ取込速度の比較です(速い順)。
1. Avro (圧縮)
2. Avro (非圧縮)
3. Parquet/ORC
4. CSV (非圧縮)
5. JSON (非圧縮)
6. CSV (圧縮)
7. JSON (圧縮)
圧縮形式のAvroファイルは、データの取込において最も効率的です。一方で、圧縮されたCSVやJSONは、圧縮を解除する必要があるため、取込速度が遅くなることがあります。
データのサイズや形式、投入の頻度などに応じて適切なファイル形式と投入方法を選択することが重要です。
【練習問題】BigQueryのデータ投入
質問 1: BigQueryへのデータ投入で、Cloud Storageからデータをロードする場合、どのようなシナリオで特に適していますか?
A) リアルタイムのデータ分析が必要な場合。
B) 大量のデータをバッチ処理で取り込む場合。
C) 小さなデータセットを頻繁に更新する場合。
D) 外部ストレージに保存されたデータに対して直接クエリを実行する場合。
正解: B) 大量のデータをバッチ処理で取り込む場合。
質問 2: BigQueryでストリーミング挿入を使用する主な利点は何ですか?
A) データの圧縮率を最大化する。
B) データをリアルタイムにBigQueryに挿入し、即時性が求められる処理に適している。
C) データの取込速度が最も速い。
D) ファイル形式に関わらず一貫したパフォーマンスを提供する。
正解: B) データをリアルタイムにBigQueryに挿入し、即時性が求められる処理に適している。
質問 3: BigQueryでデータの取込速度が最も速いファイル形式はどれですか?
A) Avro (圧縮)
B) CSV (非圧縮)
C) JSON (非圧縮)
D) Parquet/ORC
正解: A) Avro (圧縮)
これらの問題は、BigQueryのデータ投入に関する基本的な理解を確認するためのもので、GCP資格 Professional Data Engineer(PDE)試験のスタイルに沿った形式で作成されています。
まとめ
BigQueryへのデータ投入では、データの量、更新頻度、リアルタイム処理の要否など、具体的な要件に基づいて最適な方法を選択することが推奨されます。
また、データ形式や投入方法に関する最新の情報は、Google Cloudの公式ドキュメントで確認することが重要です。
▼AIを使った副業・起業アイデアを紹介♪