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 que faz computação. Normalmente, os nós fornecem uma certa quantidade de 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 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 em paralelo. 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ê escolhe executar pipelines do Cloud Data Fusion em clusters do Dataproc (que é o provisionador recomendado), ele usa o YARN (Yet Another Resource Negotiator) em segundo plano. 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 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 o 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.
Em cada nó de trabalho, o Node Manager reserva uma parte da carga memória de 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, um driver do Spark e muitos executores do Spark no Dataproc.
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
- Saiba mais sobre o processamento paralelo no Cloud Data Fusion.