En esta página, se explican la terminología y los conceptos básicos del procesamiento de canalizaciones en Cloud Data Fusion.
El rendimiento de la canalización depende de los siguientes aspectos:
- El tamaño y las características de tus datos
- La estructura de tu canalización
- El tamaño del clúster
- Los complementos que usa tu canalización de Cloud Data Fusion
Terminología de procesamiento de canalizaciones en Cloud Data Fusion
La siguiente terminología se aplica al procesamiento de canalizaciones en Cloud Data Fusion.
- Tipo de máquina
- Tipo de máquinas virtuales (VMs) que se usan (CPU, memoria).
- Clúster
- Un grupo de VMs que trabajan juntas para controlar tareas de procesamiento de datos a gran escala.
- Nodos principales y trabajadores
- Máquinas físicas o virtuales que pueden realizar el procesamiento. Por lo general, los nodos principales coordinan el trabajo. Los nodos trabajadores ejecutan ejecutores que procesan datos. Tienen características de la máquina (cantidad de memoria y cantidad de vCores disponibles para los procesos).
- vCores, núcleos o CPUs
- Un recurso que realiza la computación. Por lo general, los nodos proporcionan una cierta cantidad de núcleos y los ejecutores solicitan una o algunas CPUs. Equilibra esto junto con la memoria o es posible que no uses el clúster de forma adecuada.
- Driver
- Una sola VM que actúa como el coordinador central de todo el clúster. Administra tareas, programa el trabajo en los nodos trabajadores y supervisa el progreso del trabajo.
- Ejecutores
- Varias VMs que realizan las tareas de procesamiento de datos reales, según las instrucciones del driver. Tus datos se particionan y distribuyen entre estos ejecutores para el procesamiento paralelo. Para utilizar todos los ejecutores, debes tener suficientes divisiones.
- Divisiones o particiones
- Un conjunto de datos se divide en divisiones (otras particiones de nombres) para procesar datos en paralelo. Si no tienes suficientes divisiones, no puedes utilizar todo el clúster.
Descripción general del ajuste de rendimiento
Las canalizaciones se ejecutan en clústeres de máquinas. Cuando eliges ejecutar canalizaciones de Cloud Data Fusion en clústeres de Managed Service para Apache Spark (que es el aprovisionador recomendado), usa YARN (Yet Another Resource Negotiator) en segundo plano. Managed Service para Apache Spark utiliza YARN para la administración de recursos dentro del clúster. Cuando envías una canalización de Cloud Data Fusion a un clúster de Managed Service para Apache Spark, el trabajo subyacente de Apache Spark aprovecha YARN para la asignación de recursos y la programación de tareas.
Un clúster consta de nodos principales y trabajadores. Por lo general, los nodos principales son responsables de coordinar el trabajo, mientras que los nodos trabajadores realizan el trabajo real. Por lo general, los clústeres tienen una pequeña cantidad de nodos principales (uno o tres) y una gran cantidad de trabajadores. YARN se usa como el sistema de coordinación del trabajo. YARN ejecuta un servicio de Resource Manager en el nodo principal y un servicio de Node Manager en cada nodo trabajador. Los administradores de recursos se coordinan entre todos los administradores de nodos para determinar dónde crear y ejecutar contenedores en el clúster.
En cada nodo trabajador, el administrador de nodos reserva una parte de la memoria y las CPUs de la máquina disponibles para ejecutar contenedores de YARN. Por ejemplo, en un clúster de Managed Service para Apache Spark, si tus nodos trabajadores son VMs n1-standard-4 (4 CPUs, 15 GB de memoria), cada administrador de nodos reservará 4 CPUs y 12 GB de memoria para ejecutar contenedores de YARN. Los 3 GB de memoria restantes se dejan para los otros servicios de Hadoop que se ejecutan en el nodo.
Cuando se ejecuta una canalización en YARN, se inicia un driver de flujo de trabajo de canalización, un driver de Spark y muchos ejecutores de Spark en Managed Service para Apache Spark.
El driver de flujo de trabajo es responsable de iniciar uno o más programas de Spark que componen una canalización. Por lo general, el driver de flujo de trabajo no realiza mucho trabajo. Cada programa de Spark ejecuta un solo driver de Spark y varios ejecutores de Spark. El driver coordina el trabajo entre los ejecutores, pero, por lo general, no realiza ningún trabajo real. La mayor parte del trabajo real lo realizan los ejecutores de Spark.
¿Qué sigue?
- Obtén información sobre el procesamiento paralelo en Cloud Data Fusion.