排定工作負載
BigQuery 工作通常是較大型工作負載的一部分,外部工作會觸發 BigQuery 作業,然後由這些作業觸發。工作負載排程可協助資料管理員、分析師和開發人員整理及最佳化這一連串動作,在資料資源和程序之間建立順暢的連結。排程方法和工具可協助設計、建構、實作及監控這些複雜的資料工作負載。
選擇排程方法
如要選取排程方法,請判斷工作負載是以事件為依據、以時間為依據,還是兩者皆是。「事件」是指狀態變更,例如資料庫中的資料變更,或是儲存系統中新增檔案。在事件驅動排程中,網站上的動作可能會觸發資料活動,或是抵達特定值區的物件可能需要立即處理。在時間驅動排程中,可能需要每天載入一次新資料,或頻繁載入資料,才能產生每小時報表。在需要將物件即時載入資料湖泊,但資料湖泊的活動報表只會每日產生的情況下,您可以使用事件導向和時間導向排程。
選擇排程工具
排程工具可協助您管理複雜的資料工作負載,例如將多個 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) 和資料操縱語言 (DML) 陳述式。
排程方法:以時間為準
Dataform
Dataform 是以 SQL 為基礎的免費轉換架構,可安排 BigQuery 中複雜的資料轉換工作。將原始資料載入 BigQuery 時,Dataform 可協助您建立經過測試、版本管控的資料集和資料表集合。使用 Dataform 安排資料準備、筆記本和 BigQuery 管道的執行時間。
排程方法:以時間為準
工作流程
工作流程是無伺服器工具,可排定以 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 Managed Training 工作,或執行以 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。