転送元 - Google BigQuery
- 印刷
- PDF
転送元 - Google BigQuery
- 印刷
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
概要
Google Cloud PlatformのBigQueryからデータを転送する設定のヘルプページです。
制約
- 転送容量の制限があります。
- Google Spreadsheetsを外部テーブルとしたテーブルに対しては、クエリを実行できません。
設定項目
STEP1 基本設定
ロケーションに関する制約
以下のロケーションはすべて一致させる必要があります。
- SQL内に記述するデータセット
- 一時テーブル作成先データセット
- データセットのロケーション
項目名 | 必須 | デフォルト値 | 内容 |
---|---|---|---|
BigQuery接続情報 | Yes | - | BigQueryの接続情報を参照ください。 |
SQL | Yes | - | BigQueryから転送データを取得するためのSQLを入力します。FROM 句は、`FROM <project_name><dataset_name>.<table_name>` の形式で記述してください。 |
SQLタイプ | Yes | 標準SQL | 標準SQLとレガシーSQLから選択できます。 それぞれの違いについて、詳しくはBigQuery公式ドキュメント - Comparison of legacy and GoogleSQLを参照ください。 |
一時テーブル作成先データセット | Yes | - | 転送元BigQueryでは、転送処理時にSQLの実行結果を一時テーブルに保存します。 その一時テーブルをどのデータセットに作成するかを指定します。 BigQuery上にすでに存在するデータセットを指定してください。 なお、作成された一時テーブルは転送ジョブが正常に終了すると削除されます。 一方、転送ジョブがエラー終了した場合は、一時テーブルがデータストアに残ってしまう可能性があります。ご留意ください。 |
データセットのロケーション | Yes | US (米国) | SQLで指定したデータセットと、一時テーブル作成先データセットのロケーションを選択します。 これらのロケーションはすべて一致させる必要があります。 |
一時データエクスポート指定 | Yes | バケットのみ指定 | 転送元BigQueryでは、BigQueryのデータを一時的にGoogle Cloud Storageにエクスポートします。 そのエクスポート先となるCloud Storage バケット内のパスの指定方法を選択します。 いずれの場合も、Google Cloud Storage上にすでに存在するバケットまたはファイルパスを指定してください。 |
一時データのファイル形式 | Yes | CSV | Google Cloud Storageにエクスポートする一時データのファイル形式を選択します。 なお、既存の転送設定に対して本設定を変更する場合は、転送設定STEP2に遷移する際に自動データ設定を行ってください。 |
一時データの削除ポリシー | Yes | 削除する | Google Cloud Storageにエクスポートした一時データを、ジョブ完了後に削除するかどうかを選択します。 ジョブ完了後に一時データを確認したい場合は、削除しないを選択してください。 一時データの確認方法について、詳しくはGCS上の一時データを確認する方法を参照ください。 |
一時データエクスポート指定にてカスタムパス設定を選択した場合
Google Cloud Storage URIに入力するファイルパスのファイル部分に、ワイルドカード「*」を含めるかどうかで挙動が変わります。
- ワイルドカードを含める場合(例:
gs://<BUCKET_NAME>/foo/bar*
)- 一時データは複数ファイルに分割されてエクスポートされます。
- ワイルドカードを含めない場合(例:
gs://<BUCKET_NAME>/foo/bar
)- 一時データは単一ファイルでエクスポートされます。
ただし、BigQueryは1GB以上のテーブルデータのエクスポートには対応していません。
この場合、ワイルドカードを含めて、複数ファイルに分割してエクスポートすることを検討ください。
本仕様について、詳しくはBigQuery公式ドキュメント - テーブルデータを Cloud Storage にエクスポートするを参照ください。
STEP1の詳細設定
項目名 | デフォルト値 | 内容 |
---|---|---|
ジョブ待機タイムアウト(秒) | 600 | ジョブが実行されるまでの待機時間のタイムアウトを秒単位で指定できます。 |
クエリキャッシュを利用する | 有効 | BigQueryのクエリキャッシュ機能を利用するか選択します。 詳しくは、BigQuery公式ドキュメント - Short query optimized modeをご参照ください。 |
ジョブ待機タイムアウトの利用例
BigQueryで実行中のクエリが多い場合、スロット制限により、ジョブが実行されるまでの待機時間が発生することがあります。
この待機時間が指定したタイムアウト時間に達すると、Not found: Table
といったエラーが発生し、該当の転送ジョブは失敗します。
そのような場合にジョブ待機タイムアウトの時間を増やすことで、転送ジョブの失敗を回避できます。
必要な権限
ご利用いただくにあたって必要な権限は以下となります。
bigquery.datasets.get
bigquery.jobs.create
bigquery.tables.create
bigquery.tables.delete
bigquery.tables.export
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.updateData
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.buckets.list
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
GCS上の一時データを確認する方法
前述の通り、転送データはGCSの指定したバケット・フォルダに一時的に格納されます。
「一時データの削除ポリシー」を「削除しない」に設定した場合、GCSに残った一時データを転送後に確認できます。
一時データは圧縮されているため、内容を確認したい場合には、解凍する必要があります。
一時データの拡張子を.gz
に変更し、gzip
で解凍したうえで、ファイルの内容を確認してください。
この記事は役に立ちましたか?