資料轉換簡介
本文件說明如何在 BigQuery 資料表中轉換資料。
如要進一步瞭解資料整合,請參閱「載入、轉換及匯出資料簡介」。
轉換資料的方法
您可以透過下列方式在 BigQuery 中轉換資料:
- 使用資料操縱語言 (DML) 轉換 BigQuery 資料表中的資料。
- 使用物化檢視畫面自動快取查詢結果,提升效能和效率。
- 使用持續查詢即時分析傳入的資料,並持續將輸出資料列插入 BigQuery 資料表,或匯出至 Pub/Sub 或 Bigtable。
- 使用 BigQuery 管道或 Dataform,在 BigQuery 中開發、測試、控制版本,並安排管道。
- 使用資料準備服務,搭配 AI 產生的轉換建議 (會考量情境),清理資料以利分析。資料準備作業由 Dataform API 提供支援。
下表列出各轉換方法的不同特徵。
轉換方法 | 轉換目標 | 定義方法 | 轉換頻率 |
---|---|---|---|
資料操縱語言 (DML) | 資料表 (原地) | SQL DML | 由使用者啟動或排定的 |
具體化檢視表 | 具體化檢視表 | SQL 查詢 | 自動或手動重新整理 |
持續查詢 | 資料表、Pub/Sub 主題、Bigtable 資料表 | 使用 EXPORT DATA 的 SQL 查詢 | 連續 |
Dataform | Table | Dataform 核心 (SQLX) | 已排程 (管道) |
BigQuery 管道 | Table | BigQuery 管道 | 已排程 (管道) |
資料準備 | Table | 視覺編輯器 | 已排定 |
您也可以查看 BigQuery 資料表的變更記錄,檢查在指定時間範圍內對資料表所做的轉換。
使用 DML 轉換資料
您可以使用資料操縱語言 (DML) 轉換 BigQuery 資料表中的資料。DML 陳述式是 GoogleSQL 查詢,可操縱現有資料表資料,用於新增或刪除資料列、修改現有資料列中的資料,或合併資料表與其他資料表的值。分區資料表也支援 DML 轉換。
您可以同時執行多個 DML 陳述式,BigQuery 會將多個 DML 陳述式排入佇列,依序轉換資料。BigQuery 會根據轉換類型管理並行執行 DML 陳述式的做法。
使用具體化檢視表轉換資料
具體化檢視表是預先運算的檢視表,會定期快取 SQL 查詢的結果,藉此提高效能和效率。BigQuery 會利用具體化檢視表的預先計算結果,並盡可能只讀取基礎資料表的變更內容,以便計算最新結果。
當基礎資料表變更時,系統會在背景預先運算具體化檢視表。基本資料表中的任何增量資料變更都會自動新增至物化檢視畫面,無須使用者採取任何行動。
使用持續查詢轉換資料
持續查詢是會持續執行的 SQL 陳述式,持續查詢可讓您在 BigQuery 中即時分析傳入的資料。您可以將持續查詢產生的輸出資料列插入 BigQuery 資料表,或匯出至 Pub/Sub 或 Bigtable。
使用 Dataform 轉換資料
Dataform 可讓您在擷取、載入和轉換 (ELT) 程序中管理資料轉換作業,以便整合資料。從來源系統擷取原始資料並載入 BigQuery 後,您可以使用 Dataform 將資料轉換為經過整理、測試及記錄的一系列表格。在 DML 中,您會採用命令式方法,告訴 BigQuery 如何精確轉換資料;而在 Dataform 中,您會編寫宣告式陳述式,然後由 Dataform 決定達成該狀態所需的轉換。
在 Dataform 中,您可以開發、測試及版本控制用於資料轉換的 SQL 工作流程,從資料來源宣告到輸出資料表、檢視或已實作的檢視。您可以使用 Dataform 核心或純 JavaScript 開發 SQL 工作流程。Dataform 核心是一種開放原始碼元語言,可透過 SQLX 和 JavaScript 擴充 SQL。您可以使用 Dataform 核心管理依附元件、設定自動資料品質測試,以及在程式碼中記錄表格或欄描述。
Dataform 會將 SQL 工作流程程式碼儲存在repositories中,並使用 Git 追蹤檔案變更。在 Dataform 中,開發工作區可讓您處理存放區的內容,不會影響在同一個存放區中工作的其他使用者。您可以將 Dataform 存放區連結至第三方 Git 供應商,包括 Azure DevOps Services、Bitbucket、GitHub 和 GitLab。
您可以使用 Dataform 版本設定和工作流程設定,執行或排程 SQL 工作流程。或者,您也可以使用 Cloud Composer 或工作流程和 Cloud Scheduler 排定執行作業。在執行期間,Dataform 會依照 SQL 工作流程中的物件依附元件順序,在 BigQuery 中執行 SQL 查詢。執行完畢後,您就可以在 BigQuery 中使用定義的資料表和視圖進行分析。
如要進一步瞭解如何在 Dataform 中建立資料轉換 SQL 工作流程,請參閱「Dataform 簡介」和「Dataform 功能」。
使用 BigQuery 管道轉換資料
BigQuery 管道由 Dataform 提供動力,可讓您在擷取、載入、轉換 (ELT) 或擷取、轉換、載入 (ETL) 程序中建立及管理資料轉換作業。
您可以在 BigQuery Studio 中以視覺化方式建立及管理 BigQuery 管道。
如要進一步瞭解如何建立 BigQuery 管道,請參閱「建立管道」。
在 BigQuery 中準備資料
為了減少資料準備作業的負擔,BigQuery 可讓您根據 Gemini 產生的轉換建議清理資料。BigQuery 的資料準備功能可提供下列協助:
- 套用轉換和資料品質規則
- 標準化及豐富資料
- 自動化結構定義對應
您可以在資料預覽畫面中驗證結果,然後再對所有資料執行變更。
詳情請參閱「BigQuery 資料準備功能簡介」。
後續步驟
- 如要進一步瞭解 DML,請參閱「使用資料操縱語言 (DML) 轉換資料」一文。
- 如要進一步瞭解 Dataform,請參閱「Dataform 總覽」。