排定工作負載
BigQuery 的工作負載排程功能可讓您協調、自動化及監控 BigQuery 和外部服務之間的資料工作鏈。無論您是資料管理員、分析師或開發人員,都可以使用時間導向和事件導向的排程工具,管理依附元件並依序執行多步驟工作負載。
選擇排程方法
如要選取排程方法,請先判斷工作負載是以事件為依據、以時間為依據,還是兩者皆是。「事件」是指狀態變更,例如資料庫中的資料變更,或儲存系統中新增檔案。在事件導向排程中,網站上的動作可能會觸發資料活動,或到達特定 bucket 的物件可能需要在到達時立即處理。在「時間導向排程」中,新資料可能需要每天載入一次,或頻繁載入以產生每小時報表。在需要即時將物件載入資料湖泊,但資料湖泊的活動報表每天只產生一次的情境中,您可以使用事件導向和時間導向排程。
選擇排程工具
排程工具可協助您管理複雜的資料工作負載,例如將多個 Google Cloud 或第三方服務與 BigQuery 工作結合,或同時執行多個 BigQuery 工作。每項工作負載都有獨特的依附元件和參數管理需求,確保工作能以正確的順序和資料執行。 Google Cloud 提供多種排程選項,可根據排程方法和工作負載需求選擇。
在大多數情況下,建議使用 Dataform、Workflows、Managed Airflow 或 Vertex AI Pipelines。請參閱下表,並排比較兩者:
| Dataform | Workflows | Managed Airflow | Vertex AI Pipelines | |
|---|---|---|---|---|
| 聚焦 | 資料轉換 | 微服務 | ETL 或 ELT | 機器學習 |
| 複雜度 | * | ** | *** | ** |
| 使用者個人資料 | 資料分析師或管理員 | 資料架構師 | 資料工程師 | 資料分析師 |
| 程式碼類型 | JavaScript、SQL、Python 筆記本 | YAML 或 JSON | Python | Python |
| 無伺服器? | 是 | 是 | 全代管 | 是 |
| 不適用於 | 外部服務鏈 | 資料轉換和處理 | 低延遲或事件導向管道 | 基礎架構工作 |
以下各節將詳細說明這些排程工具和其他工具。
已排定的查詢
最簡單的工作負載排程形式,是直接在 BigQuery 中排定週期性查詢。雖然這是最不複雜的排程方法,但我們建議僅用於沒有外部依附元件的簡單查詢鏈。以這種方式排定的查詢必須以 GoogleSQL 編寫,且可包含資料定義語言 (DDL) 和data manipulation language (DML) 陳述式。
排程方法:時間導向
Dataform
Dataform 是免費、以 SQL 為基礎、有特定設計理念的轉換架構,可在 BigQuery 中排定複雜的資料轉換工作。將原始資料載入 BigQuery 後,Dataform 可協助您建立經過測試、版本控管且井然有序的資料集和資料表集合。使用 Dataform 安排資料準備、筆記本和 BigQuery 管道的執行作業。
排程方法:時間導向
Workflows
Workflows 是一項無伺服器工具,能以極低的延遲時間排定 HTTP 服務。最適合用於串連微服務、自動執行基礎架構工作、與外部系統整合,或在 Google Cloud中建立作業序列。如要進一步瞭解如何搭配使用 Workflows 與 BigQuery,請參閱「平行執行多項 BigQuery 工作」。
排程方法:事件驅動和時間驅動
Managed Service for Apache Airflow
Managed Airflow 是以 Apache Airflow 為基礎建構的全代管工具。建議用於所有耐用、正式環境等級的資料和 MLOps 工作流程。
Managed Airflow 最適合用於管理複雜的端對端業務流程,這些流程會跨越異質系統,例如從 BigQuery 擷取資料、觸發 Gemini Enterprise Agent Platform Managed Training,以及更新 Looker 等外部資訊主頁。
Managed Airflow 內建超過 1,000 個預先建構的運算子,可完美整合,不必為非機器學習工作建構自訂容器。此外,有了宣告式 YAML 架構,資料科學家不必具備深厚的 Airflow 專業知識,就能自行建構正式環境等級的管道。
如要進一步瞭解如何搭配使用 Managed Airflow 與 BigQuery,請參閱「在 Google Cloud中執行資料分析 DAG」。
排程方法:時間驅動和事件驅動
Gemini Enterprise Agent Platform Pipelines
Agent Platform Pipelines 是以 Kubeflow Pipelines 為基礎的無伺服器工具,專為機器學習專屬、容器型工作設計。
Agent Platform Pipelines 適用於完全在 Agent Platform 生態系統內執行的獨立工作流程。
Agent Platform Pipelines 採用按次計費模式,可讓您輕鬆排定專門的 Gemini Enterprise Agent Platform 代管訓練工作,或執行以 Agent Platform 為核心的純實驗。
如要進一步瞭解如何搭配使用 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 處理管道」。
後續步驟
- 瞭解如何直接在 BigQuery 中排定週期性查詢。
- 開始使用 Dataform。
- 開始使用 Workflows。
- 開始使用 Managed Airflow。
- 開始使用 Vertex AI Pipelines。
- 開始使用 Apigee Integration。
- 開始使用 Cloud Data Fusion。
- 開始使用 Cloud Scheduler。
- 開始使用 Pub/Sub。
- 開始使用 Eventarc。