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 Console を開きます。

    Cloud Storage Console

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

  3. Cloud Storage Console の上部に、オブジェクトのパスが表示されます。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 つのみです。ワイルドカードは、オブジェクト名の中や末尾に使用できます。バケット名にワイルドカードを付けることはできません。

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

データのロケーションを選択するときは、次の点を考慮してください。

  • データを読み込む場合は、Cloud Storage バケットを同じリージョンに配置する
    • BigQuery データセットがマルチリージョン ロケーションにある場合、読み込み対象のデータが含まれている Cloud Storage バケットは、同じロケーションのリージョンまたはマルチリージョン バケットに存在する必要があります。たとえば、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 を使用した大量のデータセットの保存や移動に関する詳細は、Cloud Storage とビッグデータの使用をご覧ください。

料金

BigQuery Data Transfer Service の料金については、料金をご覧ください。

割り当てと制限

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

次のステップ

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

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

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