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.

O desempenho 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 pipelines no Cloud Data Fusion

A terminologia a seguir se aplica ao processamento de pipelines o 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 (quantidade de memória e número de vCores disponíveis para processos internos).
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 VM que atua como coordenador central de todo o cluster. Ela gerencia tarefas, programa trabalhos em nós de trabalho 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 (outras partições de nome) para processar dados parallel. Se você não tiver divisões suficientes, não poderá utilizar todo o aglomerado.

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 gerenciar recursos no cluster. Quando você envia um pipeline do Cloud Data Fusion para um Cluster do Dataproc, o job subjacente do Apache Spark usa o YARN para alocação de recursos e agendamento de tarefas.

Um cluster consiste em nós mestres 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. Execuções YARN um serviço Resource Manager no nó mestre e um serviço Node Manager em cada nó de trabalho. Os Resource Managers coordenam todos os gerentes de nós 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 e 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 do fluxo de trabalho é responsável por iniciar um ou mais programas Spark que compõem um pipeline. Em geral, o driver do fluxo de trabalho não faz muito trabalho. Cada O programa 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