![](/img/trans.png)
[英]How to connect 2 lightsail instances in different regions with each other so data can transmit between them?
[英]how to move data between datasets in different regions?
我正在使用與 Firebase 集成的 BigQuery,所有數據集都在同一個項目中。 我的analytics
數據集在useast-4
中,但由於某種原因,我的firebase_imported_segments
數據集區域被標記為US
我想將數據從analytics
數據集移動到firebase_imported_segments
中的表中。
起初,我嘗試了一個簡單的 INSERT 查詢,但出現錯誤firebase_imported_segments was not found in location us-east4
因此,我嘗試構建一個 SELECT 語句並使用“保存結果 > 大查詢表”導出行,但這給出了一個類似的錯誤,即找不到目標數據集。 奇怪的是,如果我在firebase_imported_segments
中創建一個表並嘗試使用該表名保存結果,我會收到“表已存在”錯誤。 所以並不是它找不到firebase_imported_segments
數據集,它只是不會在該數據集中創建新表。
我該如何解決這個問題? 我看到一些 BQ 文檔表明在區域之間移動數據是可能的,但我沒有簡單地介紹它是如何完成的。 我也很困惑為什么 firebase 會在一個特定區域 ( useast-4
) 中放置一些數據,然后在多區域 ( US
) 中放置其他數據(如果它們不兼容)。
您可以使用 BigQuery UI 中的“復制”移動數據集,然后刪除舊數據集。 請參閱復制數據集文檔。
選項 1:使用復制按鈕。
Go 到 Cloud 控制台中的 BigQuery 頁面。
在資源管理器面板中,展開您的項目和 select 數據集。
展開更多操作選項(三點按鈕)並單擊打開。
單擊復制。 在出現的“復制數據集”對話框中,執行以下操作:
一種。 在數據集字段中,創建新數據集或 select 列表中的現有數據集 ID。
項目中的數據集名稱必須是唯一的。 項目和數據集可以在不同的地域,但並非所有地域都支持跨地域復制數據集。
b. 在位置字段中,顯示源數據集的位置。
c。可選:要用源表覆蓋目標表的數據和架構,select 覆蓋目標表復選框。
d. 要復制數據集,請單擊復制。
為避免額外的存儲成本,請考慮刪除舊數據集。
選項 2:使用 BigQuery 數據傳輸服務。
啟用 BigQuery 數據傳輸服務。
為您的數據源創建傳輸。
我對此進行了測試,可以確認它是否有效。 我在us-east4
中創建了一個名為analytics_us_regional
的數據集,並有一個名為east_4_table
的表,並將其復制到位於US
的數據集。
將us-east4
復制到US
數據集:
啟動復制時,會創建一個數據傳輸作業:
復制到US
:
關於位於us-east4
的 firebase 中的數據,從firebase 導出到 BQ 。 首次啟用導出時,用戶將定義表格的位置。 可能最初選擇了us-east4
區域。
不知道它是否適用於你的情況,但我在 europe-west1 有一個數據集,我想將它復制到歐盟地區,我已經完成了這兩種方式並且都有效:
第一種方式:1-單擊要復制的數據集,然后單擊“復制”。
2- 在數據集目標的復制菜單上單擊“創建新數據集”和 select 您希望該數據集所在的目標區域。 單擊創建數據集。
3 - 在“復制數據集”菜單上單擊復制。
4 - 當目標數據集位於 JURISDICTION_EU 時,您將收到錯誤“無法在 REGION_EUROPE_WEST_1 中創建傳輸”,但將在您的目標區域創建沒有表的數據集。
5 - 現在,如果您嘗試通過單擊“復制”並選擇在第 4 組中創建的數據集來復制源數據集,它現在可以工作了。
第二種方式:(最佳方式)1 - 打開一個新的查詢表點擊更多 - >查詢設置 - >高級選項,取消選中“自動位置選擇”和 select 你想要的目標區域或多區域(在我的例子中是歐盟) .
2- 在此查詢表上運行“CREATE SCHEMA your_new_dataset_name
”-> 這將在第 1 點中選擇的目標區域中創建數據集“your_new_dataset_name”。
3 - 單擊要復制的數據集,然后單擊“復制”。
4 - 在數據集目標 select 上的復制菜單上,點 2 中創建的數據集,然后單擊復制。
兩種方式都使用 BigQuery 數據傳輸服務,但您不需要直接訪問該服務。 事實上,這兩種方法做的事情完全相同,即在要復制的正確區域中創建目標空數據集,一旦復制 function 將正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.