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 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ê 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.
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.
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. A 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.