Resumen del rendimiento de la canalización

En esta página, se explican la terminología y los conceptos básicos del procesamiento de canalizaciones 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
  • Tamaño del clúster
  • Complementos que utiliza 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) usadas (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 coordinar 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).
Núcleos virtuales, núcleos o CPU
Es un recurso que se encarga de la computación. Por lo general, tus nodos proporcionan una cantidad determinada de núcleos, y tus ejecutores solicitan una o varias CPUs. Equilibra esto junto con memoria o tu clúster no uses.
Driver
Una VM única que actúa como el coordinador central de todo el clúster. Integra administra tareas, programa trabajos en todos los nodos trabajadores y supervisa su progreso.
Ejecutores
Varias VMs que realizan las tareas reales de procesamiento de datos, según lo indica el controlador. Tus datos se particionan y distribuyen en estos ejecutores para y procesamiento paralelo. Para usar todos los ejecutores, debes tener suficientes divisiones.
Divisiones o particiones
Un conjunto de datos se divide en divisiones (otras particiones de nombres) para procesar los datos en paralelo. Si no tienes suficientes divisiones, no podrás usar 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 Dataproc (que es la aprovisionador recomendado), usa YARN (Yet Another Resource Negotiator) detrás del en segundo plano. Dataproc usa YARN para administrar recursos en en el clúster. Cuando envías una canalización de Cloud Data Fusion a un Clúster de Dataproc, el trabajo subyacente de Apache Spark aprovecha YARN para asignar recursos y programar 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 tendrán una pequeña cantidad de nodos principales (uno o tres) y un una gran cantidad de trabajadores. YARN se usa como sistema de coordinación del trabajo. Ejecución de YARN un servicio de Resource Manager en el nodo principal y un servicio de Node Manager en cada uno nodo trabajador. Resource Manager coordina entre todos los Node Managers determinar dónde crear y ejecutar contenedores en el clúster.

Administradores de recursos y administradores de nodos de YARN

En cada nodo trabajador, el administrador de nodos reserva una parte de la la memoria de la máquina y las CPU para ejecutar contenedores YARN. Por ejemplo, en un clúster de Dataproc, si tus nodos de trabajo son VMs n1-standard-4 (4 CPU, 15 GB de memoria), cada administrador de nodos reservará 4 CPU 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 controlador de flujo de trabajo de canalización, un controlador de Spark y muchos ejecutores de Spark en Dataproc.

Controladores y ejecutores

El controlador de flujo de trabajo es responsable de iniciar uno o más programas de Spark que conforman una canalización. Por lo general, el controlador del flujo de trabajo no realiza mucho trabajo. Cada El programa Spark ejecuta un solo controlador y varios ejecutores de Spark. El las coordenadas del controlador funcionan entre los ejecutores, pero, por lo general, no realiza ninguna el trabajo real. La mayor parte del trabajo real lo realizan los ejecutores de Spark.

¿Qué sigue?