Google Cloud Dataflow
資料即時生成於網站、行動式應用程式、物聯網裝置和作業。捕獲、處理和分析這些資料對所有組織都至關重要。但是,這些框架中的資料有時僅對下游框架的檢查或有效使用有所幫助。這就是 Dataflow 的用武之地!Dataflow 用於處理和改進叢集或流資料,以用於分析、AI 或資料倉庫等用例。
Dataflow 是一種無伺服器、快速、實用的幫助工具,支援流和批處理。它使用開源 Apache Beam 庫編寫處理作業,從而提供可移植性。它透過自動化基礎設施配置和叢集管理,消除了資料工程團隊的操作負擔。
Google Cloud Dataflow
Google Cloud Dataflow 是一種基於雲的資料處理服務,適用於批處理和即時資料流應用程式。它使開發人員能夠建立用於協調、準備和分析大型資料集(例如在 Web 分析或大資料分析應用程式中發現的資料集)的處理管道。
Cloud Dataflow 旨在將 MapReduce 帶給單一型別的批處理作業計算型別的快速並行執行風格應用於整個分析管道。它部分基於 MillWheel 和 FlumeJava,這是 Google 建立的兩個專注於大規模資料攝取和低延遲處理的程式設計系統。
使用 Dataflow 的分步說明
您可以使用雲控制檯 UI、gcloud CLI 或應用程式程式設計介面建立 Dataflow 作業。有很多方法可以完成工作。
Dataflow 模板提供各種預構建模板,並可以選擇建立自定義模板!然後,您可以輕鬆地與組織中的其他人共享它們。
Dataflow SQL 允許您使用您的 SQL 技能從 BigQuery Web UI 開發流管道。您可以將來自 Pub/Sub 的流資料與雲端儲存中的檔案或 BigQuery 中的表連線起來,將結果寫入 BigQuery,並構建即時儀表板以進行視覺化。
使用 Dataflow 介面中的 Vertex AI 筆記本,您可以使用最新的資料科學和 AI 系統構建和部署資料管道。
Dataflow 內聯監控允許您直接訪問作業指標,以幫助在步驟和工作程式級別上除錯管道。
特性
垂直自動縮放
根據使用情況逐步更改分配給每個工作程式的計算資源限制。垂直自動縮放與水平自動縮放緊密協作,以無縫地縮放工作程式,以最佳地滿足管道的需求。
私有 IP
關閉公共 IP 地址使您可以更好地保護您的資料處理基礎設施。透過不對 Dataflow 工作程式使用公共 IP 地址,您還可以減少針對 Google Cloud 專案配額消耗的公共 IP 地址數量。
智慧診斷
一系列功能包括:
基於 SLO 的資料管道管理。
作業視覺化功能為使用者提供了一種視覺化方法來檢查其作業圖並識別瓶頸。
自動建議可識別和調整效能和可用性問題。
Dataflow VPC 服務控制
Dataflow 與 VPC 服務控制的整合透過增強您減輕資料洩露風險的能力,為您的資料處理環境提供額外的安全性。
流引擎
流引擎將計算與狀態儲存分開,並將管道執行的部分從工作程式 VM 移動到 Dataflow 服務後端,從而極大地提高了自動縮放和資料延遲。
內聯監控
Dataflow 內聯監控允許您直接訪問作業指標,以幫助除錯批處理和流管道。您可以檢視步驟和工作程式級別的圖形可見性,併為舊資料和高系統延遲等情況設定警報。
水平自動縮放
水平自動縮放允許 Dataflow 自動選擇執行作業所需的適當數量的工作程式例項。Dataflow 服務還可以在執行時逐步重新分配更多或更少的工作程式,以反映作業的特性。
即時變更資料捕獲
可靠且低延遲地同步或複製跨異構資料來源的資料,以支援流分析。可擴充套件的 Dataflow 模板與 Datastream 整合,以將資料從雲端儲存複製到 BigQuery、PostgreSQL 或 Cloud Spanner。Apache Beam 的 Debezium 聯結器提供了一個開源選項,用於從 MySQL、PostgreSQL、SQL Server 和 Db2 攝取資料更改。
Dataflow SQL
Dataflow SQL 允許您使用您的技能從 BigQuery Web UI 開發流 Dataflow 管道。您可以將來自 Pub/Sub 的流資料與雲端儲存中的檔案或 BigQuery 中的表連線起來,將結果寫入 BigQuery,並使用 Google Sheets 或其他 BI 工具構建即時儀表板。
Notebook 整合
從 Vertex AI 筆記本開始迭代地開發管道,並使用 Dataflow 執行器進行部署。透過在 read-eval-print-loop (REPL) 工作流程中檢查管道圖,逐步編寫 Apache Beam 管道。透過 Google 的 Vertex AI 提供的 Notebooks,允許您在具有最新資料科學和 ML 功能的自然環境中編寫管道。
靈活資源排程 (FlexRS)
Dataflow FlexRS 透過使用高階排程策略、Dataflow Mix 服務以及搶佔式虛擬機器 (VM) 例項和常規 VM 的組合來降低批處理成本。
Dataflow 模板
Dataflow 模板允許您輕鬆地與同事和整個組織共享您的管道,或者利用許多 Google 提供的模板來執行簡單但有用的資料處理任務。這包括用於流分析用例的變更資料捕獲模板。使用 Flex 模板,您可以根據任何 Dataflow 管道建立模板。
優勢
高速流資料分析
Dataflow 支援快速改進的流資料管道開發,並降低資料延遲。
簡化操作和管理
允許團隊專注於程式設計而不是管理伺服器叢集,因為 Dataflow 的無伺服器方法消除了資料工程角色的操作負擔。
降低總擁有成本
資源自動縮放與成本最佳化的批處理能力相結合,這意味著 Dataflow 提供了幾乎無限的能力來處理您的週期性和峰值作業,而不會過度支出。
結論
對於需要處理和改進以用於下游系統(如分析、AI 或資料倉庫)的批處理或流資料,Dataflow 是一個極佳的選擇。例如:Dataflow 將流事件傳遞給 Google Cloud 的 Vertex AI 和 TensorFlow Extended (TFX),以支援預測分析、欺詐檢測、即時個性化和其他高階分析用例。