觀點 · 資訊分享
BigQuery 的 Snowflake 搬家功能正式 GA:設好排程,資料自動從 Snowflake 轉進 BigQuery
Google Cloud 宣布 BigQuery Data Transfer Service 可以把 Snowflake 的資料搬進 BigQuery,功能已正式 GA。官方文件說明資料會先暫存成 Parquet 檔放到 Cloud Storage,再載入 BigQuery。
- 發布
- 2026-04-10
- 篇幅
- 約 4 分鐘 · 1,715 字
- 結構
- 8 節 + 3 題常見問題
- 標籤

一句話看懂:Google Cloud 宣布 BigQuery 的資料轉移服務可以從 Snowflake 搬資料,而且已經是正式 GA 的功能,設好排程就能自動搬。

先用白話講:這在做什麼?
想像你有兩間倉庫:一間在 Snowflake、一間在 BigQuery。以前如果想把貨從 A 倉庫搬到 B 倉庫,你得自己把貨裝箱、運送、再拆箱,還要記得每天重做。
BigQuery Data Transfer Service(資料轉移服務)就是請 Google 派一組搬家工,依你設的排程,自動把 Snowflake 裡的資料搬進 BigQuery。
發生什麼事
BigQuery 的版本說明在 2026 年 4 月 9 日寫著:BigQuery Data Transfer Service 現在可以從 Snowflake 轉移資料到 BigQuery,這項功能已正式 GA。
它怎麼運作?
根據官方文件,流程大致是:
- 轉移服務的連接器透過 Google Kubernetes Engine 上的遷移代理,要求 Snowflake 把資料載出
- 資料先放進你自己的 Cloud Storage 暫存桶
- 再由 BigQuery Data Transfer Service 載入 BigQuery
不管你的 Snowflake 帳號是架在 AWS、Azure 還是 Google Cloud,資料都會先放進你的 Cloud Storage 暫存桶。
要先知道的限制
| 項目 | 說明 |
|---|---|
| 範圍 | 一個轉移只能搬單一 Snowflake 資料庫與 schema 內的資料表;要搬多個就分別建立 |
| 速度 | 受你選的 Snowflake 倉儲(warehouse)運算能力限制 |
| 暫存格式 | 以 Parquet 檔案寫進 Cloud Storage |
| 不支援的型別 | Parquet 不支援 TIMESTAMP_TZ 與 TIMESTAMP_LTZ;若資料有這兩種,官方建議改為匯出成 CSV 放到 Amazon S3,再匯入 BigQuery |
給開發者的技術細節
- 使用前需要先準備:Google Cloud 專案、BigQuery 資料集、Cloud Storage 暫存桶、Snowflake 使用者與權限,以及網路政策
- 建立轉移的人,官方文件建議授予專案的 BigQuery Admin(
roles/bigquery.admin)角色 - 在 Snowflake 端要建立儲存整合(storage integration)物件,讓 Snowflake 能寫入你的暫存桶
- 可選功能:結構描述偵測與對應、增量轉移、私有連線;若使用客戶自管加密金鑰(CMEK),還要先給服務帳戶加解密權限
- 官方文件建議:如果搬完不打算保留測試資源,可以先開一個新專案做實驗,結束後整個刪掉
我的看法
這類「A 平台資料搬到 B 平台」的需求,在接案時很常出現,通常卡的不是搬一次,而是要不要長期同步、出錯誰負責。有官方連接器就省下自己寫腳本與維護的力氣,但要先看清楚限制,例如時間戳記型別和單一資料庫範圍,不然搬到一半才發現欄位不能用。
另外一點是費用:官方這份文件沒有談跨雲傳輸與儲存的費用,正式搬大量資料前,建議先看 Google Cloud 與 Snowflake 雙方的計費說明,並先用小型資料表跑一次。
名詞小辭典
- BigQuery:Google Cloud 的雲端資料倉儲,用 SQL 分析大量資料。
- Snowflake:另一家公司的雲端資料倉儲服務。
- Parquet:一種為分析設計的欄式檔案格式,體積小、讀取快。
- 暫存桶(Staging Bucket):資料搬運過程中暫時放資料的 Cloud Storage 儲存桶。