排定工作負載

BigQuery 工作通常是較大工作負載的一部分,外部工作會觸發 BigQuery 作業,然後由 BigQuery 作業觸發。工作負載排程可協助資料管理員、分析師和開發人員整理及最佳化這一系列動作,在資料資源和流程之間建立順暢的連結。排程方法和工具可協助設計、建構、實作及監控這些複雜的資料工作負載。

選擇排程方法

如要選取排程方法,請先確認工作負載是否以事件為依據、以時間為依據,或兩者皆是。事件是指狀態變更,例如資料庫中的資料變更,或是新增至儲存空間系統的檔案。在事件驅動排程中,網站上的動作可能會觸發資料活動,或者到達特定值區的物件可能需要在抵達後立即處理。在時間驅動型排程中,您可能需要每天載入一次新資料,或以足夠頻繁的頻率產生每小時報表。在需要將物件即時載入至資料湖,但資料湖的活動報告只會每天產生一次的情況下,您可以使用事件驅動和時間驅動排程。

選擇排程工具

排程工具可協助處理管理複雜資料工作負載的任務,例如將多項 Google Cloud 或第三方服務與 BigQuery 工作結合,或是同時執行多項 BigQuery 工作。每個工作負載都會針對依附元件和參數管理提供獨特的要求,確保任務以正確的順序使用正確的資料執行。 Google Cloud 提供多種排程選項,這些選項皆根據排程方法和工作負載需求而定。

建議您在多數用途中使用 Dataform、Workflows、Cloud Composer 或 Vertex AI Pipelines。請參閱下表的並排比較:

Dataform Workflows Cloud Composer Vertex AI Pipelines
聚焦 資料轉換 微服務 ETL 或 ELT 機器學習
複雜度 * ** *** **
使用者個人資料 資料分析師或管理員 資料架構師 資料工程師 資料分析師
程式碼類型 JavaScript、SQL、Python 筆記本 YAML 或 JSON Python Python
無伺服器? 全代管
不適用於 外部服務鏈 資料轉換和處理 低延遲或事件導向管道 基礎架構工作

以下各節將詳細說明這些排程工具和其他工具。

已排定的查詢

最簡單的工作負載排程方式,就是直接在 BigQuery 中排定週期性查詢。雖然這是最簡單的排程方法,但我們建議您只將其用於沒有外部依附元件的簡單查詢鏈結。以這種方式排定的查詢必須以 GoogleSQL 編寫,並可納入資料定義語言 (DDL)資料操縱語言 (DML) 陳述式。

排程方法:時間導向

Dataform

Dataform 是免費的 SQL 轉換框架,可在 BigQuery 中安排複雜的資料轉換工作。將原始資料載入 BigQuery 後,Dataform 可協助您建立經過測試、版本管控的資料集和資料表集合。使用 Dataform 為資料準備NotebookBigQuery 管道排定執行作業。

排程方法:時間導向

工作流程

工作流程是一項無伺服器工具,可排定以 HTTP 為基礎的服務,且延遲時間非常短。建議您將微服務連結在一起、自動執行基礎架構工作、整合外部系統,或在 Google Cloud中建立操作序列。如要進一步瞭解如何在 BigQuery 中使用工作流程,請參閱「同時執行多項 BigQuery 工作」一文。

排程方法:事件驅動和時間驅動

Cloud Composer

Cloud Composer 是建構在 Apache Airflow 上的全代管工具。這項服務最適合用於擷取、轉換、載入 (ETL) 或擷取、載入、轉換 (ELT) 工作負載,因為它支援多種運算子類型和模式,以及在其他 Google Cloud產品和外部目標上執行工作。如要進一步瞭解如何搭配使用 Cloud Composer 和 BigQuery,請參閱「在 Google Cloud中執行資料分析 DAG」一文。

排程方法:時間導向

Vertex AI Pipelines

Vertex AI Pipelines 是一種以 Kubeflow Pipelines 為基礎的無伺服器工具,專門用於排程機器學習工作負載。這項服務會自動化並連結模型開發和部署的所有工作,從訓練資料到程式碼,讓您全面掌握模型運作方式。如要進一步瞭解如何搭配使用 Vertex AI Pipelines 和 BigQuery,請參閱「匯出及部署 BigQuery 機器學習模型以進行預測」一文。

排程方法:事件驅動

Apigee Integration

Apigee Integration 是 Apigee 平台的擴充功能,包含連接器和資料轉換工具。最適合與 Salesforce 等外部企業應用程式整合。如要進一步瞭解如何使用 Apigee Integration 與 BigQuery 整合,請參閱「開始使用 Apigee Integration 和 Salesforce 觸發條件」一文。

排程方法:事件驅動和時間驅動

Cloud Data Fusion

Cloud Data Fusion 是一款資料整合工具,提供無程式碼 ELT/ETL 管道,以及超過 150 個預先設定的連接器和轉換。如要進一步瞭解如何將 Cloud Data Fusion 與 BigQuery 搭配使用,請參閱「將資料從 MySQL 複製到 BigQuery」一文。

排程方法:事件驅動和時間驅動

Cloud Scheduler

Cloud Scheduler 是全代管的排程器,可用於批次串流或基礎架構作業等工作,這些工作應在指定的時間間隔內執行。如要進一步瞭解如何將 Cloud Scheduler 與 BigQuery 搭配使用,請參閱「使用 Cloud Scheduler 安排工作流程」一文。

排程方法:時間導向

Cloud Tasks

Cloud Tasks 是一項全代管服務,可用於將工作分配給非同步工作,這些工作可在主要工作負載之外獨立執行。這類作業最適合用於委派速度較慢的背景作業,或管理 API 呼叫率。如要進一步瞭解如何搭配使用 Cloud Tasks 和 BigQuery,請參閱「將工作新增至 Cloud Tasks 佇列」一文。

排程方法:事件驅動

第三方工具

您也可以使用多項熱門的第三方工具 (例如 CData 和 SnapLogic) 連線至 BigQuery。BigQuery Ready 計畫提供經過驗證的合作夥伴解決方案完整清單

訊息傳遞工具

許多資料工作負載都需要在分離式微服務之間建立額外的訊息連結,這些微服務只需在特定事件發生時啟用。Google Cloud 提供兩個專為與 BigQuery 整合而設計的工具。

Pub/Sub

Pub/Sub 是用於資料整合管道的非同步訊息傳遞工具。其設計目的是擷取及發布伺服器事件和使用者互動等資料。也可以用於 IoT 裝置的平行處理和資料串流。如要進一步瞭解如何將 Pub/Sub 與 BigQuery 搭配使用,請參閱「從 Pub/Sub 串流至 BigQuery」一文。

Eventarc

Eventarc 是一項事件驅動工具,可讓您管理整個資料管道中的狀態變更流程。這項工具的用途廣泛,包括自動錯誤修正、資源標記、圖片修圖等。如要進一步瞭解如何搭配使用 Eventarc 和 BigQuery,請參閱「使用 Eventarc 建立 BigQuery 處理管道」一文。

後續步驟