流水线性能概览

本页介绍了 Cloud Data Fusion 中流水线处理的基本术语和概念。

流水线性能取决于以下方面:

  • 数据的大小和特征
  • 流水线的结构
  • 集群大小调整
  • Cloud Data Fusion 流水线使用的插件

Cloud Data Fusion 中的流水线处理术语

以下术语适用于 Cloud Data Fusion 中的流水线处理。

机器类型
使用的虚拟机 (VM) 类型(CPU、内存)。
集群
一组协同处理大规模数据处理任务的虚拟机。
主节点和工作器节点
可执行处理的物理机器或虚拟机。主节点通常负责协调工作。工作器节点运行用于处理数据的执行器。它们具有机器特性(可供进程使用的内存量和 vCore 数量)。
vCore、Core 或 CPU
用于执行计算的资源。通常,您的节点会提供一定数量的核心,而您的执行器会请求一个或几个 CPU。请同时考虑这一点和内存,否则可能会导致集群未充分利用。
驱动器
一个虚拟机,充当整个集群的中央协调者。它负责管理任务、跨工作器节点调度工作,以及监控作业进度。
执行器
多个虚拟机,按照驱动程序的指示执行实际的数据处理任务。您的数据会被分区并分布到这些执行器中,以进行并行处理。如需利用所有执行器,您必须有足够的分块。
分屏或分区
数据集会拆分为分块(也称为分区),以并行处理数据。如果分块不足,您将无法使用整个集群。

性能优化概览

流水线可在机器集群中执行。当您选择在 Dataproc 集群上运行 Cloud Data Fusion 流水线(这是推荐的预配程序)时,系统会在后台使用 YARN(Yet Another Resource Negotiator)。Dataproc 利用 YARN 在集群中进行资源管理。当您将 Cloud Data Fusion 流水线提交到 Dataproc 集群时,底层 Apache Spark 作业会利用 YARN 进行资源分配和任务调度。

集群由主节点和工作器节点组成。主节点通常负责协调工作,而工作器节点执行实际工作。集群通常具有少量主节点(一个或三个)和大量工作器。YARN 用作工作协调系统。YARN 在主节点上运行资源管理器服务,而在每个工作器节点上运行节点管理器服务。资源管理器会与所有节点管理器协调,以确定在集群上的哪个位置创建和执行容器。

YARN 资源管理器和节点管理器

在每个工作器节点上,NodeManager 会预留一部分可用机器内存和 CPU 来运行 YARN 容器。例如,在 Dataproc 集群中,如果您的工作器节点是 n1-standard-4 虚拟机(4 个 CPU、15 GB 内存),则每个节点管理器都会为运行 YARN 容器预留 4 个 CPU 和 12 GB 内存。剩余的 3 GB 内存留给节点上运行的其他 Hadoop 服务。

在 YARN 上运行流水线时,系统会在 Dataproc 中启动流水线工作流驱动程序、Spark 驱动程序和许多 Spark 执行器。

驱动程序和执行器

工作流驱动程序负责启动构成流水线的一个或多个 Spark 程序。工作流驱动程序通常不会执行太多工作。每个 Spark 程序都会运行一个 Spark 驱动程序和多个 Spark 执行器。驱动程序会协调执行器之间的工作,但通常不会执行任何实际工作。大部分实际工作由 Spark 执行器执行。

后续步骤