Tipos de operadores do AWS Glue
Visão geral
O AWS Glue oferece vários tipos de operadores para acomodar diferentes requisitos de workloads, desde pequenos trabalhos de streaming até tarefas de processamento de dados em grande escala que consomem muita memória. Esta seção fornece informações abrangentes sobre todos os tipos de operadores disponíveis, suas especificações e recomendações de uso.
Categorias de tipos de operadores
O AWS Glue oferece duas categorias principais de tipos de operadores:
-
Tipos de operadores G: operadores de computação de uso geral otimizados para workloads ETL padrão
-
Tipos de operadores R: operadores otimizados para memória desenvolvidos para aplicações Spark que consomem muita memória
Unidades de processamento de dados (DPUs)
Os recursos disponíveis nos operadores do AWS Glue são medidos em DPUs. Uma DPU é uma medida relativa do poder de processamento que consiste em uma capacidade computacional de 4 vCPUs e 16 GB de memória.
DPUs otimizadas para memória (M-DPUs): os operadores do tipo R usam M-DPUs, que fornecem o dobro da alocação de memória para um determinado tamanho em comparação às DPUs padrão. Isso significa que, enquanto uma DPU padrão fornece 16 GB de memória, uma M-DPU em operadores do tipo R fornece 32 GB de memória otimizada para aplicações Spark que consomem muita memória.
Tipos de operadores disponíveis
G.1X: operador padrão
DPU: 1 DPU (4 vCPUs, 16 GB de memória)
Armazenamento: disco de 94 GB (aproximadamente 44 GB livres)
Caso de uso: transformações, uniões e consultas de dados de forma escalável e econômica para a maioria dos trabalhos
G.2X: operador padrão
DPU: 2 DPUs (8 vCPUs, 32 GB de memória)
Armazenamento: disco de 138 GB (aproximadamente 78 GB livres)
Caso de uso: transformações, uniões e consultas de dados de forma escalável e econômica para a maioria dos trabalhos
G.4X: operador grande
DPU: 4 DPUs (16 vCPUs, 64 GB de memória)
Armazenamento: disco de 256 GB (aproximadamente 230 GB livres)
Caso de uso: transformações, agregações, uniões e consultas exigentes
G.8X: operador extra grande
DPU: 8 DPUs (32 vCPUs, 128 GB de memória)
Armazenamento: disco de 512 GB (aproximadamente 485 GB livres)
Caso de uso: as transformações, agregações, uniões e consultas mais exigentes
G.12X: operador extremamente grande
DPU: 12 DPUs (48 vCPUs, 192 GB de memória)
Armazenamento: disco de 768 GB (aproximadamente 741 GB livres)
Caso de uso: workloads muito grandes e com uso intenso de recursos que exigem capacidade computacional significativa
G.16X: operador máximo*
DPU: 16 DPUs (64 vCPUs, 256 GB de memória)
Armazenamento: disco de 1024 GB (aproximadamente 996 GB livres)
Caso de uso: as workloads maiores com o maior uso de recursos que exigem capacidade computacional máxima
R.1X: pequeno otimizado para memória*
DPU: 1 M-DPU (4 vCPUs, 32 GB de memória)
Caso de uso: workloads que consomem muita memória e apresentam erros frequentes de falta de memória ou requisitos elevados de relação memória/CPU
R.2X: médio otimizado para memória*
DPU: 2 M-DPUs (8 vCPUs, 64 GB de memória)
Caso de uso: workloads que consomem muita memória e apresentam erros frequentes de falta de memória ou requisitos elevados de relação memória/CPU
R.4X: grande otimizado para memória*
DPU: 4 M-DPUs (16 vCPUs, 128 GB de memória)
Caso de uso: workloads grandes que consomem muita memória e apresentam erros frequentes de falta de memória ou requisitos elevados de relação memória/CPU
R.8X: extra grande otimizado para memória*
DPU: 8 M-DPUs (32 vCPUs, 256 GB de memória)
Caso de uso: workloads muito grandes que consomem muita memória e apresentam erros frequentes de falta de memória ou requisitos elevados de relação memória/CPU
* É possível que uma maior latência de inicialização seja observada com esses operadores. Para resolver esse problema, experimente o seguinte:
Espere alguns minutos e envie o trabalho novamente.
Envie um novo trabalho com um número reduzido de operadores.
Envie um novo trabalho usando um tipo ou tamanho de operador diferente.
Tabela de especificações dos tipos de operadores
Tipo de operador | DPUs por nó | vCPU | Memória (GB) | Disco (GB) | Espaço livre em disco (GB) | Executores Spark por nó |
---|---|---|---|---|---|---|
G.1X | 1 | 4 | 16 | 94 | 44 | 1 |
G.2X | 2 | 8 | 32 | 138 | 78 | 1 |
G.4X | 4 | 16 | 64 | 256 | 230 | 1 |
G.8X | 8 | 32 | 128 | 512 | 485 | 1 |
G.12X | 12 | 48 | 192 | 768 | 741 | 1 |
G.16X | 16 | 64 | 256 | 1024 | 996 | 1 |
Observação: os tipos de operadores R têm configurações otimizadas para memória com especificações otimizadas para workloads com consumo elevado de memória.
Considerações importantes
Latência de inicialização
Importante
Os tipos de operadores G.12X e G.16X, bem como todos os tipos de trabalhadores R (R.1X a R.8X), podem encontrar uma maior latência durante a inicialização. Para resolver esse problema, experimente o seguinte:
Espere alguns minutos e envie o trabalho novamente.
Envie um novo trabalho com um número reduzido de operadores.
Envie um novo trabalho usando um tipo e um tamanho de operador diferentes.
Como escolher o tipo de operador certo
Para workloads ETL padrão
G.1X ou G.2X: o mais econômico para transformações, uniões e consultas de dados típicas
G.4X ou G.8X: para workloads mais exigentes com conjuntos de dados maiores
Para workloads em grande escala
G.12X: conjuntos de dados muito grandes que exigem recursos computacionais significativos
G.16X: capacidade máxima de computação para as workloads mais exigentes
Para workloads com consumo elevado de memória
R.1X ou R.2X: trabalhos de pequeno a médio porte que consomem muita memória
R.4X ou R.8X: workloads que consomem muita memória e apresentam erros frequentes de OOM
Considerações sobre otimização de custos
Operadores G padrão: fornecem um equilíbrio entre recursos de computação, memória e rede e podem ser usados em workloads diversas a um custo menor
Operadores R: especializados em tarefas que consomem muita memória e com desempenho rápido em workloads que processam grandes conjuntos de dados na memória
Práticas recomendadas
Diretrizes de seleção de operadores
Comece com operadores padrão (G.1X, G.2X) para a maioria das workloads
Use operadores R ao enfrentar erros frequentes de falta de memória ou workloads com operações que consomem muita memória, como armazenamento em cache, embaralhamento e agregação
Considere G.12X/G.16X para workloads com computação intensa que exigem o máximo de recursos
Considere as restrições de capacidade ao usar novos tipos de operadores em fluxos de trabalho sensíveis ao tempo
Otimização de desempenho
Monitore as métricas do CloudWatch para entender a utilização de recursos
Use contagens de operadores apropriadas com base no tamanho e na complexidade dos dados
Considere estratégias de particionamento de dados para otimizar a eficiência dos operadores