AWS Glue - Guia Completo (Pontos-Chave para o Exame DEA-C01)
Introducao
O AWS Glue e o servico com maior peso na secao Domain 1: Data Ingestion and Transformation (34%) do exame DEA-C01.
O AWS Glue e um servico de ETL totalmente gerenciado e serverless que automatiza todo o processo de extracao, transformacao e carga de dados. O exame apresenta com frequencia questoes baseadas em cenarios que exigem escolher o componente ou recurso correto do Glue.
Este guia cobre os conceitos essenciais que voce precisa conhecer para se preparar para o exame.
---
O que e o AWS Glue?
Vamos comecar com os fundamentos do AWS Glue.
| Aspecto | Detalhe | | --- | --- | | Definicao | Servico de ETL totalmente gerenciado e serverless | | Motor de processamento | Apache Spark (computacao distribuida) | | Codigo ETL | Gerado automaticamente e personalizavel em Python (PySpark) ou Scala | | Gestao de infraestrutura | Nao necessaria (serverless) | | Unidade de cobranca | DPU (Data Processing Unit) | | Integracoes principais | S3, Redshift, RDS, Athena, EMR |
No exame, quando o cenario requer "ETL serverless", a resposta e AWS Glue.
---
DPU (Data Processing Unit)
DPU e a unidade de recursos computacionais no AWS Glue.
| Aspecto | Detalhe | | --- | --- | | 1 DPU | 4 vCPU + 16 GB de memoria | | Cobranca | Quantidade de DPU x tempo de processamento | | Escalamento | Ajuste automatico (especificacao manual tambem e possivel) | | Monitoramento | Verificar o DPU ideal na secao Job Run Monitoring do console do AWS Glue |
Se o DPU for insuficiente, voce pode aumenta-lo elevando o parametro .
---
DynamicFrames vs Spark DataFrames
Existem dois frameworks para processar dados no Glue. Compreender suas diferencas e importante.
| Comparacao | Spark DataFrame | AWS Glue DynamicFrames | | --- | --- | --- | | Esquema | Deve ser predefinido | Tratado automaticamente (sem necessidade de predefinicao) | | Dados semiestruturados | Dificil de processar | Trata automaticamente JSON, XML, CSV, etc. | | Estruturas aninhadas | Requer achatamento manual | Trata automaticamente estruturas aninhadas e arrays | | Ideal para | Dados estruturados | Data lakes com esquemas flexiveis |
No exame, DynamicFrames costuma ser a resposta correta quando se trata de dados com esquemas que mudam frequentemente ou sao desconhecidos.
---
Prevencao de processamento duplicado com Job Bookmarks
Job Bookmarks e um recurso que rastreia o estado de processamento entre execucoes de trabalhos ETL.
Caracteristicas principais:
Dados ja processados nao sao reprocessados (carga incremental) Previne reprocessamento desnecessario em grandes conjuntos de dados, economizando custo e tempo Salva checkpoints dos dados processados para referencia em execucoes posteriores
Quando o exame apresenta um cenario sobre "processar apenas dados novos", Job Bookmarks e a resposta.
---
AWS Glue Crawlers
Os Crawlers escaneiam automaticamente as fontes de dados para descobrir esquemas e manter o Glue Data Catalog atualizado.
| Funcao | Detalhe | | --- | --- | | Descoberta automatica de esquemas | Escaneia fontes como S3, RDS e cria/atualiza tabelas automaticamente | | Formatos suportados | CSV, JSON, Parquet, ORC, etc. | | Deteccao de particoes | Detecta particoes automaticamente para melhorar o desempenho de consultas | | Agendamento | Execucao periodica para manter o Data Catalog atualizado | | Controle de acesso | Controle detalhado de acesso a metadados por meio de politicas IAM |
O ponto-chave do exame aqui e compreender as duas camadas de controle de acesso.
Essas duas camadas sao gerenciadas separadamente.
---
Schema Registry para dados de streaming
O Schema Registry garante a consistencia do esquema em dados de streaming do Kinesis e Kafka.
Caracteristicas principais:
Controle de versoes de esquemas Validacao do esquema quando produtores adicionam novos registros aos streams Rejeicao ou transformacao de registros em caso de inconsistencia de esquema Integracao com KPL (Kinesis Producer Library) e KCL (Kinesis Client Library)
Quando o exame pergunta sobre "garantir a consistencia do esquema em dados de streaming do Kinesis/Kafka", a resposta e Glue Schema Registry.
---
Principais funcoes de transformacao
O Glue oferece varias capacidades de transformacao importantes.
| Funcao | Descricao | | --- | --- | | ResolveChoice | Trata tipos de dados mistos em uma coluna (ex: strings e inteiros na mesma coluna) | | FindMatches ML | Identifica registros de entidades correspondentes sem chaves comuns (baseado em ML) | | Pivot | Converte linhas em colunas (otimiza consultas analiticas) | | CTAS | Cria novas tabelas a partir de resultados SELECT (conversao de formato, tabelas resumo) |
Quando o exame apresenta um cenario sobre "detectar e mesclar registros duplicados usando ML", a resposta e FindMatches ML Transform.
---
Comparacao de ambientes de execucao
O Glue oferece diferentes ambientes de execucao conforme o tipo de carga de trabalho.
| Ambiente | Caracteristicas | Ideal para | | --- | --- | --- | | Spark | Computacao distribuida, processamento em larga escala | Trabalhos ETL grandes, transformacoes complexas | | Python Shell | Execucao de scripts leves | Transformacoes simples, integracao com servicos AWS | | Ray | Processamento paralelo em Python | Cargas de trabalho ML/AI, escalamento horizontal em Python | | Streaming ETL | Processamento de streams em tempo real | Processamento de dados em tempo real do Kinesis e Kafka |
Pontos de selecao-chave que aparecem frequentemente no exame:
ETL leve em Python → Python Shell Escalamento horizontal de Python para cargas ML → Ray
---
Estrategias de otimizacao de desempenho
Estrategias principais para melhorar o desempenho dos trabalhos ETL.
| Estrategia | Descricao | | --- | --- | | Particionamento de dados | Particionar por data, regiao, etc. para melhorar o desempenho de consultas | | Indices de particao | A API GetPartitions consulta apenas as particoes correspondentes, melhorando o desempenho com grandes volumes | | Broadcast Join | Copia conjuntos de dados pequenos para todos os nos, minimizando o shuffling em joins grandes | | Consolidacao de arquivos pequenos | Muitos arquivos pequenos degradam o desempenho do Spark; consolidar em arquivos maiores | | Filtragem do lado do servidor | Pre-filtrar dados usando predicados de particao ao criar DynamicFrames |
---
AWS Glue DataBrew
O DataBrew e uma ferramenta visual de preparacao de dados que permite limpar e normalizar dados sem escrever codigo.
| Funcao | Detalhe | | --- | --- | | Transformacoes sem codigo | Mais de 250 transformacoes predefinidas (arrastar e soltar) | | Perfilamento de dados | Estatisticas por coluna, deteccao automatica de valores ausentes, duplicatas e valores atipicos | | Regras de qualidade de dados personalizadas | Definicao de regras de validacao conforme requisitos do negocio | | Deteccao e mascaramento de PII | Deteccao de informacoes pessoais baseada em ML com mascaramento e anonimizacao | | Serverless | Nao requer gestao de infraestrutura |
Cenarios comuns no exame:
Precisa de limpeza e perfilamento de dados sem programar → AWS Glue DataBrew Precisa de deteccao e mascaramento de PII → DataBrew ou Glue Sensitive Data Detection
---