Cloud Storage の転送に関する概要

は、

BigQuery Data Transfer Service for Cloud Storage を使用すると、Cloud Storage から BigQuery への繰り返しのデータ読み込みをスケジュールできます。Cloud Storage のパスと宛先テーブルはパラメータ化が可能で、日付で整理された Cloud Storage バケットからデータを読み込むことができます。

サポートされるファイル形式

現在 BigQuery Data Transfer Service では、次のいずれかの形式で Cloud Storage からのデータの読み込みをサポートしています。

  • カンマ区切り値(CSV)
  • JSON(改行区切り)
  • Avro
  • Parquet
  • ORC

Cloud Storage URI

Cloud Storage データソースからデータを読み込むには、Cloud Storage URI を指定する必要があります。

Cloud Storage URI は、バケット名とオブジェクト(ファイル名)で構成されます。たとえば、Cloud Storage バケットの名前が mybucket、データファイルの名前が myfile.csv の場合、バケットの URI は gs://mybucket/myfile.csv になります。データが複数のファイルに分割されている場合は、URI にワイルドカードを使用できます。詳しくは、Cloud Storage のリクエスト URI をご覧ください。

BigQuery は最初のダブル スラッシュの後に複数の連続スラッシュが含まれるソース URI をサポートしていません。Cloud Storage オブジェクトの名前には複数の連続スラッシュ("/")文字を含めることができます。しかし BigQuery では、複数の連続スラッシュは単一のスラッシュに変換されます。たとえば gs://[BUCKET]/my//object//name というソース URI は、Cloud Storage では有効ですが BigQuery では機能しません。

Cloud Storage の URI を取得するには:

  1. Cloud Storage ウェブ UI を開きます。

    Cloud Storage ウェブ UI

  2. ソースデータを含むオブジェクト(ファイル)の場所に移動します。

  3. Cloud Storage ウェブ UI の上部に、オブジェクトのパスが表示されます。URI を作成するには、gs://[BUCKET]/[FILE] を適切なパスで置き換えます。たとえば、gs://mybucket/myfile.json[BUCKET] は Cloud Storage バケット名で、[FILE] はデータを含むオブジェクト(ファイル)の名前です。

Cloud Storage の URI でのワイルドカードの使用

Cloud Storage データを分割し、共通のベース名を持つ複数のファイルに保存した場合、そのデータを読み込むときに URI でワイルドカードを使用できます。

Cloud Storage の URI にワイルドカードを追加するには、ベース名にアスタリスク(*)を追加します。たとえば、fed-sample000001.csvfed-sample000002.csv という名前のファイルがある場合、バケットの URI は gs://mybucket/fed-sample* のようになります。このワイルドカードを含む URI はウェブ UI または CLI で使用できます。

バケット内のオブジェクト(ファイル名)について使用できるワイルドカードは 1 つのみです。ワイルドカードは、オブジェクト名の中や末尾に使用できます。バケット名にワイルドカードを付けることはできません。

ロケーションに関する留意事項

データのロケーションを選択するときは、次の点を考慮してください。
  • BigQuery データセットと外部データソースを同じロケーションに配置する
    • Cloud Storage などの外部データソースのデータをクエリする場合、クエリするデータは BigQuery データと同じロケーションに存在する必要があります。たとえば、BigQuery データセットが EU のマルチリージョン ロケーションにある場合、クエリ対象のデータが含まれている Cloud Storage バケットは、EU のマルチリージョン バケットに存在する必要があります。データセットが米国のマルチリージョン ロケーションにある場合、Cloud Storage バケットは米国のマルチリージョン バケットに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、クエリ対象のデータが含まれている Cloud Storage バケットは、同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 外部データセットが Cloud Bigtable にある場合、データセットは米国または EU のマルチリージョン ロケーションに存在する必要があります。Cloud Bigtable データは、サポートされている Cloud Bigtable のロケーションのいずれかに存在する必要があります。
    • ロケーションに関する考慮事項は、Google ドライブの外部データソースには適用されません。
  • データを読み込む場合は、Cloud Storage バケットを同じリージョンに配置する
    • BigQuery データセットがマルチリージョン ロケーションにある場合、読み込み対象のデータが含まれている Cloud Storage バケットは、同じロケーションのリージョンまたはマルチリージョン バケットに存在する必要があります。たとえば、BigQuery データセットが EU にある場合、Cloud Storage バケットは EU のリージョンまたはマルチリージョン バケットに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、Cloud Storage バケットは同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 例外: データセットが米国のマルチリージョン ロケーションにある場合、任意のリージョンまたはマルチリージョン ロケーションにある Cloud Storage バケットからデータを読み込むことができます。
  • データをエクスポートする場合は、Cloud Storage バケットを同じリージョンに配置する
    • データをエクスポートする場合、リージョンまたはマルチリージョンの Cloud Storage バケットを BigQuery データセットと同じロケーションに配置する必要があります。たとえば、BigQuery データセットが EU のマルチリージョン ロケーションにある場合、エクスポート対象のデータが含まれている Cloud Storage バケットは EU のマルチリージョン バケットに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、Cloud Storage バケットは同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 例外: データセットが米国のマルチリージョン ロケーションにある場合、任意のリージョンまたはマルチリージョン ロケーションにある Cloud Storage バケットにデータをエクスポートできます。
  • データ管理計画を作成する
    • BigQuery データセットや Cloud Storage バケットなどのリージョン ストレージ リソースを選択する場合は、データの地理的管理を行うための計画を作成します。
Cloud Storage のロケーションの詳細については、Cloud Storage のドキュメントのバケットのロケーションをご覧ください。

ロケーション間での BigQuery データの移動

データセットの作成後にロケーションを変更することはできません。また、データセットをあるロケーションから別のロケーションに移動させることもできません。データセットをあるロケーションから別のロケーションに移動する場合は、次の手順に従います。

  1. BigQuery テーブルから、データセットと同じロケーションにあるリージョンまたはマルチリージョンの Cloud Storage バケットにデータをエクスポートします。たとえば、データセットが EU のマルチリージョン ロケーションにある場合は、EU のリージョンまたはマルチリージョン バケットにデータをエクスポートします。

    BigQuery からのデータのエクスポートについて請求は発生しませんが、エクスポートしたデータを Cloud Storage に保存する場合は請求の対象になります。BigQuery からのエクスポートは、エクスポート ジョブの制限が適用されます。

  2. Cloud Storage バケットから新しいロケーションのリージョンまたはマルチリージョン バケットに、データをコピーするか移動させます。たとえば、米国のマルチリージョン ロケーションから東京のリージョン ロケーションにデータを移動させる場合は、データを東京のリージョン バケットに移動させます。Cloud Storage オブジェクトの移動に関する詳細については、Cloud Storage ドキュメントのオブジェクトの名前変更、コピー、移動をご覧ください。

    リージョン間でデータを移動させると、Cloud Storage でネットワーク下りの料金が発生することに注意してください。

  3. 新しいロケーションの Cloud Storage バケットにデータを移動させたら、新しい BigQuery データセットを(新しいロケーションに)作成します。次に、Cloud Storage バケットから BigQuery にデータを読み込みます。

    BigQuery へのデータの読み込みについて請求は発生しませんが、Cloud Storage にデータを保存した場合は請求が発生し、データまたはバケットを削除するまで請求が行われます。BigQuery にデータを保存した場合も、請求の対象になります。BigQuery へのデータの読み込みは、読み込みジョブの制限が適用されます。

Cloud Storage を使用して大量のデータセットを保存し、移動させる方法の詳細については、Google Cloud Storage とビッグデータの使用をご覧ください。

割り当てと制限

BigQuery Data Transfer Service は読み込みジョブを使用して、Cloud Storage データを BigQuery に読み込みます。繰り返しの Cloud Storage 読み込みジョブには、BigQuery の読み込みジョブに対するすべての割り当てと制限が適用されます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。