Auf dieser Seite werden die grundlegenden Begriffe und Konzepte der Pipelineverarbeitung in Cloud Data Fusion erläutert.
Die Pipelineleistung hängt von den folgenden Aspekten ab:
- Größe und Merkmale Ihrer Daten
- Struktur Ihrer Pipeline
- Größenanpassung bei Clustern
- Von Ihrer Cloud Data Fusion-Pipeline verwendete Plug-ins
Begriffe zur Pipelineverarbeitung in Cloud Data Fusion
Die folgenden Begriffe werden bei der Pipelineverarbeitung in Cloud Data Fusion verwendet.
- Maschinentyp
- Typ der verwendeten virtuellen Maschinen (VMs) (CPU, Arbeitsspeicher).
- Cluster
- Eine Gruppe von VMs, die zusammenarbeiten, um umfangreiche Datenverarbeitungsaufgaben zu bewältigen.
- Master- und Worker-Knoten
- Physische oder virtuelle Maschinen, die Daten verarbeiten können. Master-Knoten koordinieren in der Regel die Arbeit. Auf Worker-Knoten werden Executors ausgeführt, die Daten verarbeiten. Sie haben Maschinenmerkmale (Arbeitsspeicher und Anzahl der für Prozesse verfügbaren vCores).
- vCores, Cores oder CPUs
- Eine Ressource, die Berechnungen durchführt. In der Regel stellen Ihre Knoten eine bestimmte Anzahl von Cores bereit und Ihre Executors fordern eine oder mehrere CPUs an. Sie müssen dies zusammen mit dem Arbeitsspeicher ausgleichen, da Ihr Cluster sonst möglicherweise nicht optimal genutzt wird.
- Treiber
- Eine einzelne VM, die als zentraler Koordinator für den gesamten Cluster fungiert. Sie verwaltet Aufgaben, plant die Arbeit auf Worker-Knoten und überwacht den Jobfortschritt.
- Executors
- Mehrere VMs, die die eigentlichen Datenverarbeitungsaufgaben gemäß den Anweisungen des Treibers ausführen. Ihre Daten werden partitioniert und zur parallelen Verarbeitung auf diese Executors verteilt. Damit alle Executors genutzt werden können, müssen genügend Splits vorhanden sein.
- Splits oder Partitionen
- Ein Dataset wird in Splits (auch Partitionen genannt) unterteilt, um Daten parallel zu verarbeiten. Wenn nicht genügend Splits vorhanden sind, kann der gesamte Cluster nicht genutzt werden.
Übersicht zur Leistungsoptimierung
Pipelines werden auf Clustern von Maschinen ausgeführt. Wenn Sie Cloud Data Fusion-Pipelines auf Managed Service for Apache Spark-Clustern ausführen (der empfohlene Bereitsteller), wird im Hintergrund YARN (Yet Another Resource Negotiator) verwendet. Managed Service for Apache Spark verwendet YARN für die Ressourcenverwaltung im Cluster. Wenn Sie eine Cloud Data Fusion-Pipeline an einen Managed Service for Apache Spark-Cluster senden, nutzt der zugrunde liegende Apache Spark-Job YARN für die Ressourcenzuweisung und Aufgabenplanung.
Ein Cluster besteht aus Master- und Worker-Knoten. Master-Knoten sind in der Regel für die Koordinierung der Arbeit zuständig, während Worker-Knoten die eigentliche Arbeit ausführen. Cluster haben normalerweise eine kleine Anzahl von Master-Knoten (ein oder drei) und eine große Anzahl von Worker-Knoten. YARN wird als System zur Koordinierung der Arbeit verwendet. YARN führt einen Resource Manager-Dienst auf dem Master-Knoten und einen Node Manager-Dienst auf jedem Worker-Knoten aus. Resource Manager koordinieren sich mit allen Node Managern, um zu bestimmen, wo Container im Cluster erstellt und ausgeführt werden sollen.
Auf jedem Worker-Knoten reserviert der Node Manager einen Teil des verfügbaren Arbeitsspeichers und der CPUs der Maschine für die Ausführung von YARN-Containern. Wenn Ihre Worker-Knoten beispielsweise in einem Managed Service for Apache Spark-Cluster n1-standard-4-VMs (4 CPUs, 15 GB Arbeitsspeicher) sind, reserviert jeder Node Manager 4 CPUs und 12 GB Arbeitsspeicher für die Ausführung von YARN-Containern. Die restlichen 3 GB Arbeitsspeicher sind für die anderen Hadoop-Dienste reserviert, die auf dem Knoten ausgeführt werden.
Wenn eine Pipeline in YARN ausgeführt wird, werden ein Pipeline-Workflow-Treiber, ein Spark-Treiber und viele Spark-Executors in Managed Service for Apache Spark gestartet.
Der Workflow-Treiber ist für das Starten der ein oder mehreren Spark-Programme verantwortlich, aus denen eine Pipeline besteht. Der Workflow-Treiber erledigt in der Regel nicht viel Arbeit. Jedes Spark-Programm führt einen einzelnen Spark-Treiber und mehrere Spark-Executors aus. Der Treiber koordiniert die Arbeit zwischen den Executors, führt aber in der Regel keine eigentliche Arbeit aus. Die meiste Arbeit wird von den Spark-Executors ausgeführt.
Nächste Schritte
- Informationen zur parallelen Verarbeitung in Cloud Data Fusion