Visão geral do desempenho do pipeline

Nesta página, explicamos a terminologia e os conceitos básicos do processamento de pipeline no o Cloud Data Fusion.

A performance do pipeline depende dos seguintes aspectos:

  • O tamanho e as características dos seus dados
  • A estrutura do seu pipeline
  • Dimensionamento de cluster
  • Plug-ins usados pelo pipeline do Cloud Data Fusion

Terminologia de processamento de pipeline no Cloud Data Fusion

A terminologia a seguir se aplica ao processamento de pipeline no Cloud Data Fusion.

Tipo de máquina
Tipo de máquinas virtuais (VMs) usadas (CPU, memória).
Cluster
Um grupo de VMs trabalhando juntas para lidar com tarefas de processamento de dados em grande escala.
Nós mestres e de trabalho
Máquinas físicas ou virtuais que podem fazer processamento. Os nós mestres geralmente coordenar o trabalho. Os nós de trabalho executam executores que processam dados. Eles têm características de máquina (quantidade de memória e número de vCores disponíveis para processos).
vCores, núcleos ou CPUs
Um recurso de computação. Normalmente, os nós fornecem uma certa quantidade Os núcleos e os executores solicitam uma ou algumas CPUs. Equilibre isso junto com ou subutilizar o cluster.
Driver
Uma única VM que atua como o coordenador central de todo o cluster. Ele gerencia tarefas, programa o trabalho em nós de worker e monitora o progresso do job.
Executores
Várias VMs executando as tarefas reais de processamento de dados, conforme instruído pelo motorista. Seus dados são particionados e distribuídos entre esses executores por processamento em paralelo. Para usar todos os executores, você precisa ter divisões.
Divisões ou partições
Um conjunto de dados é dividido em divisões (outro nome para partições) para processar dados em paralelo. Se você não tiver divisões suficientes, não poderá usar todo o cluster.

Visão geral do ajuste de desempenho

Os pipelines são executados em clusters de máquinas. Quando você opta por executar Pipelines do Cloud Data Fusion em clusters do Dataproc, que são recomendado), ele usa o YARN (Yet Another Resource Negotiator) atrás de nos bastidores. O Dataproc usa o YARN para o gerenciamento de recursos no cluster. Quando você envia um pipeline do Cloud Data Fusion para um cluster do Dataproc, o job do Apache Spark aproveita o YARN para alocar recursos e programar tarefas.

Um cluster consiste em nós mestre e de trabalho. Os nós mestres geralmente são responsáveis por coordenar o trabalho, e os nós de trabalho realizam o trabalho real. Os clusters normalmente têm um pequeno número de nós mestres (um ou três) e um um grande número de workers. O YARN é usado como sistema de coordenação de trabalho. O YARN executa um serviço do Resource Manager no nó mestre e um serviço do Node Manager em cada nó de trabalho. Os Resource Managers coordenam entre todos os Node Managers para determinar onde criar e executar contêineres no cluster.

Gerenciadores de recursos YARN e gerenciadores de nós

Em cada nó de trabalho, o Node Manager reserva uma parte da carga memória da máquina e CPUs para executar contêineres YARN. Por exemplo, em um Cluster do Dataproc, se os nós de trabalho forem VMs n1-standard-4 (4 CPUs, 15 GB de memória), cada gerenciador de nós reservará quatro CPUs, 12 GB de memória para executar contêineres YARN. Os 3 GB de memória restantes é deixada para os outros serviços do Hadoop em execução no nó.

Quando um pipeline é executado no YARN, ele inicia um driver de fluxo de trabalho do pipeline, e muitos executores do Spark no Dataproc.

Motoristas e executores

O driver de fluxo de trabalho é responsável por iniciar um ou mais programas do Spark que compõem um pipeline. O driver do fluxo de trabalho geralmente não faz muito trabalho. Cada programa do Spark executa um único driver e vários executores do Spark. O As coordenadas do driver funcionam entre os executores, mas geralmente não realizam nenhuma o trabalho de verdade. A maior parte do trabalho real é realizada pelos executores do Spark.

A seguir