管道成效總覽

在 Cloud Data Fusion 調整管道處理作業,可最佳化執行速度,並避免執行階段瓶頸。瞭解這些概念有助於有效調整基礎架構規模,並降低資料工作流程的運算成本。

管道效能取決於下列因素:

  • 資料的大小和特性
  • 管道結構
  • 叢集大小
  • Cloud Data Fusion 管道使用的外掛程式

Cloud Data Fusion 的管道處理術語

下列術語適用於 Cloud Data Fusion 中的管道處理程序。

機型
使用的虛擬機器 (VM) 類型 (CPU、記憶體)。
叢集
一組 VM 共同處理大規模資料處理工作。
主要節點和 worker 節點
可進行處理的實體或虛擬機器。主要節點通常會協調工作。worker 節點會執行處理資料的執行器。具有機器特性 (記憶體容量和可用於程序的虛擬核心數量)。
虛擬核心、核心或 CPU
執行運算的資源。通常節點會提供一定數量的核心,而執行器會要求一或多個 CPU。請一併考量記憶體,否則叢集可能無法充分發揮效用。
驅動程式
單一 VM,做為整個叢集的中樞協調器。負責管理工作、安排 worker 節點的工作時間,以及監控工作進度。
執行器
多個 VM 按照驅動程式的指示,執行實際的資料處理工作。資料會分區並分配給這些執行器,以便平行處理。如要充分利用所有執行器,您必須有足夠的分割。
分割或分區
資料集會分割成多個分割區 (又稱分區),以便平行處理資料。如果分割數量不足,就無法使用整個叢集。

效能調整總覽

管道會在機器叢集上執行。選擇在 Managed Service for Apache Spark 叢集上執行 Cloud Data Fusion 管道時 (建議使用此佈建器),系統會在幕後使用 YARN (Yet Another Resource Negotiator)。Managed Service for Apache Spark 會使用 YARN 管理叢集內的資源。將 Cloud Data Fusion 管道提交至 Managed Service for Apache Spark 叢集時,基礎 Apache Spark 工作會運用 YARN 分配資源及排定工作。

叢集由主要節點和 worker 節點組成。主節點通常負責協調工作,而 worker 節點則執行實際工作。叢集通常會有少數主節點 (一或三個) 和大量 worker。YARN 是工作協調系統。YARN 會在主要節點上執行 Resource Manager 服務,並在每個 worker 節點上執行 Node Manager 服務。Resource Manager 會協調所有 Node Manager,判斷要在叢集上建立及執行容器的位置。

YARN Resource Manager 和 NodeManager

在每個 worker 節點上,Node Manager 會保留一部分可用的機器記憶體和 CPU,用於執行 YARN 容器。舉例來說,在 Managed Service for Apache Spark 叢集上,如果 worker 節點是 n1-standard-4 VM (4 個 CPU、15 GB 記憶體),每個 Node Manager 都會保留 4 個 CPU 和 12 GB 記憶體,用於執行 YARN 容器。節點上執行的其他 Hadoop 服務會使用剩餘的 3 GB 記憶體。

在 YARN 上執行管道時,系統會在 Managed Service for Apache Spark 中啟動管道工作流程驅動程式、Spark 驅動程式和多個 Spark 執行器。

驅動程式和執行程式

工作流程驅動程式負責啟動構成管道的一或多個 Spark 程式。工作流程驅動程式通常不會執行太多工作。每個 Spark 程式都會執行單一 Spark 驅動程式和多個 Spark 執行器。驅動程式會協調執行器之間的工作,但通常不會執行任何實際工作。大部分的實際工作都是由 Spark 執行器執行。

後續步驟