データの読み込みの概要

このドキュメントでは、BigQuery にデータを読み込む方法について説明します。データ統合の一般的なアプローチは、データの抽出、読み込み、変換(ELT)と、データの抽出、変換、読み込み(ETL)の 2 つです。

ELT と ETL のアプローチの概要については、データの読み込み、変換、エクスポートの概要をご覧ください。

外部データの読み込み方法またはアクセス方法

次の方法で BigQuery にデータを読み込んだり、BigQuery からデータにアクセスしたりできます。ユースケースとデータソースに基づいて、次のいずれかのオプションを選択します。

読み込み方法 説明
バッチ読み込み この方法は、さまざまなソースから大量のデータをバッチ読み込む場合に適しています。

Cloud Storage やその他のサポートされているデータソースからデータをバッチまたは増分読み込む場合は、BigQuery Data Transfer Service の使用をおすすめします。

BigQuery Data Transfer Service を使用すると、BigQuery へのデータ読み込みワークフローを自動化するために、読み込みジョブをスケジュールできます。1 回限りまたはバッチのデータ転送を定期的な間隔(毎日、毎月など)でスケジュールできます。BigQuery データが常に最新の状態になるように、転送をモニタリングしてログに記録できます。

BigQuery Data Transfer Service でサポートされているデータソースの一覧については、サポートされているデータソースをご覧ください。
ストリーミング ロード この方法では、メッセージング システムからほぼリアルタイムでデータを読み込むことができます。

BigQuery にデータをストリーミングするには、Pub/Sub で BigQuery サブスクリプションを使用します。Pub/Sub は、BigQuery へのデータ読み込みの高スループットを処理できます。リアルタイムのデータ ストリーミングをサポートし、生成されたデータを読み込みます。詳細については、BigQuery サブスクリプションをご覧ください。
変更データ キャプチャ(CDC) この方法では、データベースから BigQuery にデータをほぼリアルタイムで複製できます。

Datastream は、準リアルタイムのレプリケーションを使用して、データベースから BigQuery にデータをストリーミングできます。Datastream は CDC 機能を活用して、データソースからの行レベルの変更を追跡して複製します。

Datastream でサポートされているデータソースの一覧については、ソースをご覧ください。
外部データソースとの連携 この方法では、BigQuery に読み込むことなく外部データにアクセスできます。

BigQuery は、Cloud Storage と連携クエリを介して、一部の外部データソースへのアクセスをサポートしています。この方法の利点は、後で使用するために変換する前にデータを読み込む必要がないことです。変換を実行するには、外部データに対して SELECT ステートメントを実行します。

次のプログラム方法を使用してデータを読み込むこともできます。

読み込み方法 説明
バッチ読み込み 読み込みジョブを作成して、Cloud Storage またはローカル ファイルからデータを読み込むことができます。

ソースデータの変更頻度が低い場合や、継続的に更新される結果を必要としない場合は、読み込みジョブは、BigQuery にデータを読み込むための費用とリソースの消費を抑えることができる方法です。

読み込まれるデータは、Avro、CSV、JSON、ORC、Parquet 形式のいずれかになります。読み込みジョブを作成するには、LOAD DATA SQL ステートメントを使用することもできます。

Spark やさまざまな ETL パートナーなどの一般的なオープンソース システムも、BigQuery へのデータのバッチ読み込みをサポートしています。
ストリーミング ロード カスタム ストリーミング データソースをサポートする必要がある場合や、大規模なスループットで BigQuery にストリーミングする前にデータを前処理する必要がある場合は、Dataflow または BigQuery Engine for Apache Flink を使用します。

Dataflow から BigQuery への読み込みの詳細については、Dataflow から BigQuery に書き込むをご覧ください。

BigQuery Storage Write API を直接使用することもできます。

Cloud Data Fusion は、ETL プロセスを容易にします。BigQuery は、データを変換して BigQuery に読み込むサードパーティ パートナーとも連携しています。

データを取得するその他の方法

データを BigQuery に読み込まなくても、データに対してクエリを実行できます。以降のセクションでは、代替手段について説明します。

次のリストに、代替手段の一部を示します。

一般公開データに対してクエリを実行する

一般公開データセットとは、BigQuery に保存されて、一般公開されるデータセットです。詳細については、BigQuery 一般公開データセットをご覧ください。

共有データに対してクエリを実行する

他のユーザーから共有された BigQuery データセットに対してクエリを実行するには、Analytics Hub の概要をご覧ください。Analytics Hub は、データ共有を可能にするデータ交換プラットフォームです。

ログデータを使用してクエリを実行する

追加の読み込みジョブを作成せずに、ログに対してクエリを実行できます。

次のステップ