將查詢結果匯出至 Amazon S3
本文說明如何將針對 BigLake 資料表執行的查詢結果,匯出至 Amazon Simple Storage Service (Amazon S3) 值區。
如要瞭解 BigQuery 和 Amazon S3 之間的資料流動方式,請參閱「匯出資料時的資料流動」。
限制
如要查看適用於 Amazon S3 和 Blob 儲存空間 BigLake 資料表的完整限制清單,請參閱「限制」。
事前準備
請確認您已備妥下列資源:
- 存取 Amazon S3 儲存貯體的連線。
- Amazon S3 BigLake 資料表。
- 正確的 Amazon Web Services (AWS) Identity and Access Management (IAM) 政策:
- 您必須具備
PutObject
權限,才能將資料寫入 Amazon S3 值區。 詳情請參閱「為 BigQuery 建立 AWS IAM 政策」。
- 您必須具備
- 如果您採用以量計價的收費模式,請確保已為專案啟用 BigQuery Reservation API。如要瞭解定價資訊,請參閱 BigQuery Omni 定價。
匯出查詢結果
無論現有內容為何,BigQuery Omni 都會寫入指定的 Amazon S3 位置。匯出查詢可以覆寫現有資料,也可以將查詢結果與現有資料混合。建議您將查詢結果匯出至空白的 Amazon S3 值區。
如要執行查詢,請選取下列其中一個選項:
SQL
在「Query editor」(查詢編輯器) 欄位中,輸入 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*
。BigQuery 會根據匯出的檔案數量,將*
替換為0000..N
。BigQuery 會判斷檔案數量和大小。如果 BigQuery 決定匯出兩個檔案,則第一個檔案名稱中的*
會替換為000000000000
,第二個檔案名稱中的*
會替換為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。