資料集位置

本頁面說明「資料位置」的概念,以及可以建立資料集的不同位置。要瞭解如何設定資料集的位置,請參閱建立資料集一文。

如需 BigQuery 地區定價的相關資訊,請參閱定價頁面。

基本概念

您可以在建立資料集時指定 BigQuery 資料的儲存位置。建立資料集後,位置就無法變更。

位置類型分為兩種:

  • 「地區位置」是特定的地理位置,如東京。詳情請參閱「地理位置與地區」頁面的地區資源一節。

  • 「多地區位置」是至少含有兩個地理位置的大型地理區域,如美國。詳情請參閱「地理位置與地區」頁面的多地區資源一節。

BigQuery 會根據服務專屬條款,將資料儲存在選取的位置。

地區位置

地區名稱 地區說明
美洲
us-west2 洛杉磯
northamerica-northeast1 蒙特婁
us-east4 北維吉尼亞州
southamerica-east1 聖保羅
歐洲
europe-north1 芬蘭
europe-west2 倫敦
europe-west6 蘇黎世
亞太地區
asia-east2 香港
asia-south1 孟買
asia-northeast2 大阪
asia-east1 台灣
asia-northeast1 東京
asia-southeast1 新加坡
australia-southeast1 雪梨

多地區位置

多地區名稱 多地區說明
EU 歐盟1
US 美國

1 位於 EU 多地區中的資料不會儲存在 europe-west2 (倫敦) 或 europe-west6 (蘇黎世) 資料中心。

指定您的位置

當載入、查詢或匯出資料時,BigQuery 會根據要求中參考的資料集,決定工作的執行位置。舉例來說,如果查詢參考了儲存在 asia-northeast1 地區資料集內的資料表,查詢工作就會在這個地區執行。如果查詢沒有參考包含在資料集內的任何資料表或其他資源,而且未獲提供目的地資料表,查詢工作就會在專案固定費率預訂方案所在的位置執行。如果專案沒有固定費率預訂方案,工作則會在 US 地區執行。如果專案與多個固定費率預訂方案相關聯,工作將會在擁有最多運算單元之預訂方案的位置執行。

如何明確指定工作的執行位置:

  • 使用 GCP 主控台查詢資料時,請按一下 [More] (更多) > [Query settings] (查詢設定),接著針對「Processing Location」(處理位置),按一下 [Auto-select] (自動選取),然後選擇資料的位置。
  • 使用 BigQuery 傳統網頁版 UI 查詢資料時,請按一下 [Show Options] (顯示選項),然後針對「Processing Location」(處理位置),按一下 [Unspecified] (未指定) 並選擇資料的位置。
  • 使用指令列工具時,請提供 --location 通用標記,然後將值設為您的位置。
  • 使用 API 時,請在工作資源jobReference 區段中,指定您的地區做為 location 屬性值。

如果指定的位置與要求中資料集的位置不相符,BigQuery 則會傳回錯誤。

位置注意事項

選擇資料的位置時,請考慮下列事項:

  • 將 BigQuery 資料集與外部資料來源放在相同位置。
    • 當您查詢外部資料來源 (如 Cloud Storage) 中的資料時,您要查詢的資料必須與 BigQuery 資料集位在相同的位置。舉例來說,如果您的 BigQuery 資料集位在歐盟多地區位置,則您要查詢的資料所屬的 Cloud Storage 值區也必須是歐盟的多地區值區;若您的資料集位於美國多地區位置,那麼 Cloud Storage 值區就必須是美國多地區值區。
    • 如果您的資料集是位於地區位置,則含有查詢資料的 Cloud Storage 值區就必須位於相同位置的地區值區。舉例來說,如果您的資料集位於東京地區,則您的 Cloud Storage 值區必須是位在東京的地區值區。
    • 如果您的外部資料集在 Cloud BigTable 中,則資料集必須位於美國或歐盟的多地區位置,即您的 Cloud Bigtable 資料必須位於其中一個支援的 Cloud Bigtable 位置
    • 上述位置的考量並不適用 Google 雲端硬碟的外部資料來源。
  • 將多個 Cloud Storage 值區並置於相同位置,以利載入資料。
    • 如果您的 BigQuery 資料集位於多地區位置,含有載入資料的 Cloud Storage 值區必須位於相同位置的單一地區或多地區值區。舉例來說,如果您的 BigQuery 資料集是位在歐盟,則 Cloud Storage 值區就必須位於歐盟的地區值區或多地區值區。
    • 如果您的資料集是位在地區位置,則您的 Cloud Storage 值區必須是相同位置的地區值區。舉例來說,如果您的資料集位於東京地區,則您的 Cloud Storage 值區必須是位於東京的地區值區。
    • 例外情況:如果您的資料集是位在美國的多地區位置,則可以從任何地區位置或多地區位置的 Cloud Storage 值區載入資料。
  • 將多個 Cloud Storage 值區並置於相同位置,以利匯出資料。
    • 當您匯出資料時,地區或多地區的 Cloud Storage 值區必須與 BigQuery 資料集位於相同位置。舉例來說,如果您的 BigQuery 資料集位在歐盟多地區位置,則包含匯出資料的 Cloud Storage 值區就必須位在歐盟的地區或多地區位置。
    • 如果您的資料集是位在地區位置,則您的 Cloud Storage 值區必須是相同位置的地區值區。舉例來說,如果您的資料集位於東京地區,則您的 Cloud Storage 值區必須是位於東京的地區值區。
    • 例外情況:如果您的資料集是位在美國多地區位置,則您可將資料匯出至任何地區或多地區位置的 Cloud Storage 值區裡。
  • 擬定資料管理方案。
    • 如果您選擇的是地區儲存資源,例如 BigQuery 資料集或 Cloud Storage 值區,則請擬定資料異地備援管理方案。

如要深入瞭解 Cloud Storage 位置,請參閱 Cloud Storage 說明文件中的值區位置一文。

在不同位置之間移動 BigQuery 資料

資料集建立之後,就無法更改位置。此外,您也無法在不同位置之間移動資料集。如要將資料集移到其他位置,請按照下列流程操作:

  1. 從 BigQuery 資料表匯出資料到單一地區或多地區 Cloud Storage 值區,而且這個值區必須跟資料集位於相同位置。舉例來說,如果您的資料集位在歐盟的多地區位置,則應將資料匯出至歐盟的單一地區或多地區值區。

    從 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 應用於大數據相關頁面。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁