資料轉換簡介

BigQuery 可讓您直接在資料倉儲中清理、充實及匯總原始資料,為數據分析和下游應用程式準備資料集。您可以根據延遲時間和工作流程需求,執行臨時 SQL 更新、快取增量檢視表、處理即時串流,或排定自動化管道。如要瞭解資料整合工作流程的端對端總覽,請參閱「載入、轉換及匯出資料簡介」。

資料轉換方法

您可以使用下列方式在 BigQuery 轉換資料:

  • 使用資料操縱語言 (DML) 轉換 BigQuery 資料表中的資料。
  • 使用 materialized view 自動快取查詢結果,提高效能和效率。
  • 使用持續查詢,即時分析傳入的資料,並持續將輸出資料列插入 BigQuery 資料表,或匯出至 Pub/Sub 或 Bigtable。
  • 使用 BigQuery 管道或 Dataform,在 BigQuery 中開發、測試、控管版本及排定管道。
  • 使用資料準備功能,搭配 AI 生成的情境感知轉換建議,清理資料以進行分析。資料準備作業由 Dataform API 提供技術支援。

下表列出各項轉換方法的不同特性。

轉換方法 轉換目標 定義方法 轉換頻率
data manipulation language (DML) 表格 (就地) SQL DML 使用者啟動或排定
materialized view materialized view SQL 查詢 自動或手動重新整理
持續查詢 資料表、Pub/Sub 主題、Bigtable 資料表 使用 EXPORT DATA 的 SQL 查詢 連續
Dataform 資料表 Dataform Core (SQLX) 已排定 (管道)
BigQuery 管道 資料表 BigQuery 管道 已排定 (管道)
資料準備 資料表 視覺化編輯器 已排定

您也可以查看 BigQuery 資料表的變更記錄,檢查在指定日期範圍內對資料表進行的轉換。

使用 DML 轉換資料

您可以使用資料操縱語言 (DML) 轉換 BigQuery 資料表中的資料。DML 陳述式是 GoogleSQL 查詢,可操控現有資料表資料,新增或刪除資料列、修改現有資料列中的資料,或將資料與其他資料表的值合併。分區資料表也支援 DML 轉換。

您可以同時執行多個 DML 陳述式,BigQuery 會將多個 DML 陳述式排入佇列,依序轉換資料。BigQuery 會根據轉換類型,管理並行 DML 陳述式的執行方式。

使用 materialized view 轉換資料

materialized view 是預先運算的檢視表,會定期快取 SQL 查詢結果,提高效能和效率。BigQuery 會運用 materialized view 的預先運算結果,並盡可能只讀取基礎資料表的變更,以計算最新結果。

基礎資料表變更時,系統會在背景預先運算 materialized view。基礎資料表中的任何增量資料變更都會自動新增至 materialized view,使用者不需採取任何行動。

使用持續查詢轉換資料

持續查詢是會不斷執行的 SQL 陳述式,持續查詢功能可即時分析傳入 BigQuery 的資料。您可以將持續查詢產生的輸出資料列插入 BigQuery 資料表,或匯出至 Pub/Sub 或 Bigtable。

使用 Dataform 轉換資料

Dataform 可讓您在資料整合的擷取、載入和轉換 (ELT) 程序中管理資料轉換。從來源系統擷取原始資料並載入 BigQuery 後,您可以使用 Dataform 將資料轉換成經過測試、記錄且井然有序的資料表套件。在 DML 中,您會採用命令式方法,明確指示 BigQuery 如何轉換資料;而在 Dataform 中,您會編寫宣告式陳述式,然後由 Dataform 決定達到該狀態所需的轉換。

在 Dataform 中,您可以開發、測試及版本管控資料轉換的 SQL 工作流程,從資料來源宣告到輸出資料表、檢視表或 materialized view。您可以使用 Dataform Core 或純 JavaScript 開發 SQL 工作流程。Dataform Core 是開放原始碼中繼語言,可透過 SQLX 和 JavaScript 擴充 SQL。您可以使用 Dataform Core 管理依附元件、設定自動化資料品質測試,以及在程式碼中記錄資料表或資料欄說明。

Dataform 會將 SQL 工作流程程式碼儲存在存放區中,並使用 Git 追蹤檔案變更。Dataform 的開發工作區可讓您處理存放區內容,不會影響在同一存放區作業的其他使用者。您可以將 Dataform 存放區連結至第三方 Git 供應商,包括 Azure DevOps Services、Bitbucket、GitHub 和 GitLab。

您可以使用 Dataform 版本設定和工作流程設定,執行或排定 SQL 工作流程。或者,您也可以使用 Managed Service for Apache Airflow,或 Workflows 和 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 資料準備總覽」。

後續步驟