クエリ結果を Amazon S3 にエクスポートする
このドキュメントでは、BigLake テーブルに対して実行されたクエリの結果を Amazon Simple Storage Service(Amazon S3)バケットにエクスポートする方法について説明します。
BigQuery と Amazon S3 間のデータフローについては、データをエクスポートする際のデータフローをご覧ください。
制限事項
Amazon S3 と Blob Storage に基づく BigLake テーブルに適用される制限事項の全リストについては、制限事項をご覧ください。
始める前に
以下のリソースがあることを確認してください。
- Amazon S3 バケットにアクセスするための接続。
- Amazon S3 BigLake テーブル。
- 正しい Amazon Web Services(AWS)の Identity and Access Management(IAM)ポリシー。
- Amazon S3 バケットにデータを書き込むには、
PutObject
権限が必要です。詳細については、BigQuery の AWS IAM ポリシーを作成するをご覧ください。
- Amazon S3 バケットにデータを書き込むには、
- 容量ベースの料金モデルを使用している場合は、プロジェクトで BigQuery Reservation API が有効になっていることを確認します。料金については、BigQuery Omni の料金をご覧ください。
クエリ結果をエクスポートする
BigQuery Omni は、既存のコンテンツが存在するかどうかに関係なく、指定された Amazon S3 のロケーションにコンテンツを書き込みます。エクスポート クエリでは、既存のデータを上書きすることも、クエリ結果を既存のデータと混在させることもできます。クエリ結果は、空の Amazon S3 バケットにエクスポートすることをおすすめします。
クエリを実行するには、次のいずれかのオプションを選択します。
SQL
[クエリエディタ] フィールドに、GoogleSQL エクスポート クエリを入力します。GoogleSQL は Google Cloud コンソールのデフォルトの構文です。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
EXPORT DATA WITH CONNECTION `CONNECTION_REGION.CONNECTION_NAME` OPTIONS(uri="s3://BUCKET_NAME/PATH", format="FORMAT", ...) AS QUERY
以下を置き換えます。
CONNECTION_REGION
: 接続が作成されたリージョン。CONNECTION_NAME
: Amazon S3 バケットへの書き込みに必要な権限を使用して作成した接続名。BUCKET_NAME
: データを書き込む Amazon S3 バケット。PATH
: エクスポートされるファイルを書き込むパス。../aa/*
、../aa/b*c
、../aa/*bc
、../aa/bc*
のように、パス文字列のリーフ ディレクトリに必ず 1 つのワイルドカード*
を含める必要があります。BigQuery は、エクスポートされたファイルの数に応じて*
を0000..N
に置き換えます。ファイルの数とサイズは BigQuery によって決まります。BigQuery が 2 つのファイルをエクスポートする場合、最初のファイルのファイル名に存在する*
は000000000000
に置き換えられ、2 番目のファイルのファイル名に存在する*
は000000000001
に置き換えられます。FORMAT
: サポートされている形式はJSON
、AVRO
、CSV
、PARQUET
です。QUERY
: BigLake テーブルに保存されているデータを分析するクエリ。[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
Java
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Java の設定手順を完了してください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
トラブルシューティング
quota failure
に関連するエラーが発生した場合は、クエリ用の予約済み容量があるかどうかを確認します。スロット予約の詳細については、このドキュメントの始める前にをご覧ください。
次のステップ
- BigQuery Omni について確認する。
- テーブルデータをエクスポートする方法を確認する。
- Amazon S3 に保存されているデータをクエリする方法を確認する。
- BigQuery Omni の VPC Service Controls の設定方法を確認する。