排定工作負載
BigQuery 工作通常是較大型工作負載的一部分,外部工作會觸發 BigQuery 作業,然後由這些作業觸發。工作負載排程可協助資料管理員、分析師和開發人員整理及最佳化這一連串的動作,在資料資源和程序之間建立順暢的連結。排程方法和工具可協助設計、建構、實作及監控這些複雜的資料工作負載。
選擇排程方式
如要選取排程方法,請判斷工作負載是由事件驅動、時間驅動,還是兩者皆是。「事件」是指狀態變更,例如資料庫中的資料變更,或是儲存系統中新增了檔案。在事件驅動排程中,網站上的動作可能會觸發資料活動,或是抵達特定值區的物件可能需要立即處理。在時間驅動排程中,可能需要每天載入一次新資料,或頻繁載入資料,才能產生每小時的報表。在需要即時將物件載入資料湖泊,但資料湖泊的活動報表只會每日產生一次的情況下,您可以使用事件導向和時間導向排程。
選擇排程工具
排程工具可協助您管理複雜的資料工作負載,例如將多個 Cloud de Confiance by S3NS 或第三方服務與 BigQuery 工作合併,或平行執行多個 BigQuery 工作。每項工作負載都有獨特的依附元件和參數管理需求,確保工作以正確順序執行,並使用正確的資料。 Cloud de Confiance 提供多種排程選項,可根據排程方法和工作負載需求選擇。
建議您在多數情況下使用 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 為基礎的服務,延遲時間極短。最適合用於串連微服務、自動執行基礎架構工作、與外部系統整合,或在 Cloud de Confiance中建立一連串作業。如要進一步瞭解如何搭配使用 Workflows 和 BigQuery,請參閱「平行執行多項 BigQuery 工作」。
排程方法:事件驅動和時間驅動
Managed Service for Apache Airflow
Managed Airflow 是以 Apache Airflow 為基礎建構的全代管工具,這項服務最適合擷取、轉換和載入 (ETL) 或擷取、載入和轉換 (ELT) 工作負載,因為它支援多種運算子類型和模式,以及其他 Cloud de Confiance產品和外部目標的任務執行作業。如要進一步瞭解如何搭配使用 Managed Airflow 與 BigQuery,請參閱「在 Cloud de Confiance中執行資料分析 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 計畫提供經過驗證的合作夥伴解決方案完整清單。
訊息工具
許多資料工作負載都需要在分離的微服務之間建立額外的訊息傳輸連線,且只有在發生特定事件時才需要啟用。Cloud de Confiance 提供兩種工具,可與 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。