資料集位置

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

如需 BigQuery 在不同地區的計價方式,請參閱定價頁面。

基本概念

您可以在建立資料集時,指定 BigQuery 資料的儲存位置。建立資料集後,您無法變更其位置,不過可將資料集複製到不同的地區

位置類型分為兩種:

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

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

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

地區位置

地區名稱 地區說明
美洲
us-west2 洛杉磯
northamerica-northeast1 蒙特婁
us-east4 北維吉尼亞州
southamerica-east1 聖保羅
us-east1 南卡羅萊納州
歐洲
europe-north1 芬蘭
europe-west3 法蘭克福
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 地區執行。如果與專案相關聯的固定費率預訂方案有好幾個,該工作會在擁有最多運算單元的預訂方案位置執行。

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

  • 如果您使用 Cloud Console 查詢資料,請按一下 [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

    後續步驟