將查詢結果匯出為檔案

這份文件說明如何將查詢結果儲存為 CSV 或 JSON 等檔案。

將查詢結果下載到本機檔案

bq 指令列工具或 API 都不支援下載查詢結果到本機檔案。

如要使用Google Cloud 控制台將查詢結果下載為 CSV 或以換行符號分隔的 JSON 檔案,請按照下列步驟操作:

  1. 在 Google Cloud 控制台開啟「BigQuery」頁面。

    前往「BigQuery」

  2. 按一下「SQL 查詢」

  3. 在「Query editor」(查詢編輯器) 文字區域中輸入有效的 GoogleSQL 查詢。

  4. 選用:如要變更處理位置,請按一下「更多」並選取「查詢設定」。針對「Data location」(資料位置),選擇資料的位置

  5. 按一下「執行」

  6. 傳回結果時,按一下「儲存結果」,然後選取要儲存結果的格式或位置。

    檔案會下載至瀏覽器的預設下載位置。

將查詢結果儲存到 Google 雲端硬碟

bq 指令列工具或 API 都不支援將查詢結果儲存到 Google 雲端硬碟。

嘗試將 BigQuery 結果儲存至 Google 雲端硬碟時,可能會發生錯誤。這個錯誤是因為 Drive SDK API 無法存取 Google Workspace 所致。如要解決這個問題,您必須啟用使用者帳戶,允許透過 Drive SDK API 存取 Google 雲端硬碟

如要將查詢結果儲存到 Google 雲端硬碟,請使用 Google Cloud 控制台:

  1. 在 Google Cloud 控制台開啟「BigQuery」頁面。

    前往「BigQuery」

  2. 按一下「SQL 查詢」

  3. 在「Query editor」(查詢編輯器) 文字區域中輸入有效的 GoogleSQL 查詢。

  4. 按一下「執行」

  5. 傳回結果時,按一下「儲存結果」

  6. 在「Google 雲端硬碟」下方,選取「CSV」或「JSON」。當您儲存結果到 Google 雲端硬碟時,無法選擇位置。結果一律會儲存到根目錄「我的雲端硬碟」的位置。

  7. 系統可能需要幾分鐘的時間,才能將結果儲存至 Google 雲端硬碟。儲存結果時,您會收到包含下列檔案名稱的對話方塊訊息:bq-results-[TIMESTAMP]-[RANDOM_CHARACTERS].[CSV or JSON]

    [save results] (儲存結果) 按鈕的螢幕擷圖

  8. 在對話方塊訊息中,按一下「開啟」即可開啟檔案,或者前往 Google 雲端硬碟並按一下「我的雲端硬碟」

將查詢結果儲存到 Google 試算表

bq 指令列工具或 API 都不支援將查詢結果儲存到 Google 試算表。

嘗試從 Google 試算表開啟 BigQuery 結果時,可能會發生錯誤。這個錯誤是因為 Drive SDK API 無法存取 Google Workspace 所致。如要解決這個問題,您必須啟用使用者帳戶,才能透過 Drive SDK API 存取 Google 試算表

如要將查詢結果儲存到 Google 試算表,請使用 Google Cloud 控制台:

  1. 在 Google Cloud 控制台開啟「BigQuery」頁面。

    前往「BigQuery」

  2. 按一下「SQL 查詢」

  3. 在「Query editor」(查詢編輯器) 文字區域中輸入有效的 GoogleSQL 查詢。

  4. 選用:如要變更處理位置,請按一下「更多」並選取「查詢設定」。針對「Data location」(資料位置),選擇資料的位置

  5. 按一下「執行」

  6. 傳回結果時,按一下 [Save results] (儲存結果) 並選取 [Google Sheets] (Google 試算表)

  7. 如有必要,請依照提示登入使用者帳戶,並按一下「允許」,授予 BigQuery 將資料寫入 Google 雲端硬碟 MY Drive 資料夾的權限。

    依照提示執行後,您應該會收到電子郵件,確認 BigQuery 用戶端工具已連結至您的使用者帳戶。電子郵件中的資訊包含您授予的權限以及移除權限的相關步驟。

  8. 儲存結果後,類似下列的訊息會顯示在 Google Cloud 主控台的查詢結果下方:Saved to Sheets as "results-20190225-103531. Open。按一下訊息中的連結,即可查看 Google 試算表中的結果,您也可以前往 My Drive 資料夾並手動開啟檔案。

    將查詢結果儲存至 Google 試算表時,檔案名稱以 results-[DATE] 開頭,其中 [DATE] 是今天的日期,格式為 YYYYMMDD

排解無法將結果儲存到 Google 試算表的問題

將資料從 BigQuery 儲存到 Google 試算表時,您可能會發現試算表中的某些儲存格是空白的。當您寫入儲存格的資料超過 Google 試算表的 50,000 個字元限制時,就會發生這種情況。如要解決這個問題,請在 GoogleSQL 查詢中使用字串函式,將含有長資料的資料欄分割成兩或多個資料欄,然後將結果再次儲存至試算表。

將查詢結果儲存至 Cloud Storage

如要將查詢結果匯出至 Cloud Storage,請在 Google Cloud 控制台中執行下列步驟:

  1. 在 Google Cloud 控制台中開啟 BigQuery 頁面。

    前往 BigQuery 頁面

  2. 按一下「SQL 查詢」

  3. 在「Query editor」(查詢編輯器) 文字區域中輸入有效的 GoogleSQL 查詢。

  4. 按一下「執行」

  5. 傳回結果時,依序點按「儲存結果」>「Cloud Storage」

  6. 在「Export to Google Storage」(匯出至 Google Cloud Storage) 對話方塊中:

    • 針對「GCS Location」(GCS 位置),請瀏覽至您要匯出資料的值區、資料夾或檔案。
    • 為「Export format」(匯出格式) 選擇以下其中一種匯出資料格式:[CSV]、[JSON (Newline Delimited)] (JSON (以換行符號分隔))、[Avro] 或 [Parquet]。
    • 針對「Compression」(壓縮選項),請選取壓縮格式,或選取 None 表示不壓縮。
  7. 按一下「儲存」即可匯出查詢結果。

如要查看工作進度,請展開「Job history」(工作記錄) 窗格,然後尋找 EXTRACT 類型的工作。

後續步驟