Amazon MLS-C01: Engenharia de Dados e Engenharia de Features — Guia de estudos
Faz parte do AWS Machine Learning Specialty MLS-C01 — Guia de estudos. Pratique com respostas verificadas no centro de exames da Amazon, ou faça testes cronometrados no ExamRoll.io.
Ingestão, armazenamento e formatos de arquivo de dados
Projetar um data lake pronto para ML começa com a escolha do padrão de ingestão e do formato de persistência corretos. Para telemetria em tempo real, use o Kinesis Data Streams (processamento de baixa latência) ou o Kinesis Data Firehose (entrega gerenciada). O Firehose pode entregar dados diretamente no Amazon S3 e realizar a conversão do formato de registro do lado do servidor para Parquet/ORC quando combinado com o AWS Glue Schema Registry e uma transformação com Lambda; escolha Data Streams + Kinesis Data Analytics ou Lambda se precisar de enriquecimento personalizado ou respostas em menos de um segundo. Para migração em massa, use o AWS DataSync, o Database Migration Service (DMS) para fontes RDS/OLTP, ou o Snowball para transferências offline na escala de terabytes. No S3, armazene dados em formato colunar Parquet para workloads analíticos (predicate pushdown, compressão como Snappy, chaves de partição ajustadas aos padrões de consulta) e TFRecord ao alimentar pipelines do TensorFlow para leituras sequenciais de alta vazão. Cuidado com a explosão de arquivos pequenos: bufferize as escritas (buffering do Firehose, batching do Glue) para produzir objetos no S3 com tamanho adequado para frameworks de big data (de dezenas a centenas de MB). A evolução de esquema é comum: use o Glue Catalog e o Schema Registry para versionar esquemas; use particionamento e convenções de nomenclatura para evitar varreduras completas e caras da tabela. Uma armadilha comum é usar o modo Arquivo (File mode) no processamento downstream, que copia datasets inteiros para os nós de computação; prefira streaming (modo Pipe do SageMaker), Redshift Spectrum ou Athena em vez da cópia integral quando os datasets têm milhões de registros.
ETL serverless e em cluster: Glue, EMR, Redshift e SageMaker
As escolhas de ETL dependem da escala, personalização, perfil de custo e necessidades de bibliotecas. O AWS Glue fornece ETL Spark serverless com catalogação, crawlers e orquestração de jobs integrada — excelente para transformações frequentes e orientadas a eventos onde se deseja escalonamento gerenciado. O EMR é preferível quando você precisa de ecossistemas Spark/Hadoop personalizados, clusters de longa duração ou bibliotecas especializadas (builds customizados de GraphX, MLlib) e pode usar o S3 como o data lake subjacente. Para análises sem ingestão de dados, use o Redshift Spectrum ou o Athena para consultar Parquet/ORC diretamente no S3; o Redshift é melhor para joins complexos e workloads de BI. Para a preparação de dados para modelos, os jobs do SageMaker Processing fornecem contêineres gerenciados para executar pré-processamento escalável com Spark ou Python, garantindo que o código de pré-processamento seja executado próximo ao treinamento e possa ser versionado com o job de treinamento. Ao iniciar um treinamento no SageMaker com algoritmos integrados, forneça no mínimo a imagem de treinamento, a role do IAM, o instance_type/count e o URI do S3 para os dados de treinamento; considere o modo Pipe para fazer streaming dos registros e evitar a cópia para o EBS em datasets com milhões de registros. Armadilhas comuns: escolher o Glue para transformações de latência extremamente baixa (use Lambda/Kinesis em vez disso) ou copiar dados do S3 para HDFS/EBS desnecessariamente quando o Redshift Spectrum/Athena seria suficiente.
Engenharia de features, pipelines de transformação e seleção
A engenharia de features deve ser reproduzível e isolada de vazamento de dados (leakage). Implemente o pré-processamento como pipelines de nível de produção (scikit-learn Pipeline, pipelines do Spark ML ou SageMaker Processing + Feature Store) para que transformações idênticas sejam aplicadas no treinamento e na inferência. Lide com a ausência de dados selecionando uma estratégia: imputação simples (média/mediana/moda) para pequenas lacunas; métodos baseados em modelo (KNN, MICE iterativo) quando outras features podem prever os valores ausentes. Escalone features numéricas com StandardScaler ou MinMax para modelos baseados em gradiente; aplique escalonamento robusto se houver predominância de outliers. Para variáveis categóricas, escolha one-hot encoding para baixa cardinalidade, ou target encoding ou embeddings aprendidos para categorias de alta cardinalidade (use Embeddings em modelos profundos ou feature hashing para controle de dimensionalidade). Para texto, realize uma normalização consistente (minúsculas, pontuação, tokenização); use Word2Vec/BlazingText para embeddings ou pipelines esparsos/TF-IDF para modelos lineares; o BlazingText no SageMaker suporta skip-gram/CBoW e é eficiente em escala. Para seleção de features, use regularização L1, importância baseada em árvore (XGBoost/RandomForest), informação mútua ou eliminação recursiva de features, e sempre realize a seleção de features dentro das dobras (folds) da validação cruzada para evitar viés de seleção. A maior armadilha prática é o vazamento de dados (leakage): nunca derive features usando informações do alvo (target) futuro nem aplique o pré-processamento usando o dataset completo antes de dividi-lo.
Segurança, controle de acesso, governança e monitoramento operacional
A engenharia de dados segura e auditável é obrigatória. Criptografe dados em repouso (at rest) usando SSE-KMS para volumes S3 e EBS e use criptografia do lado do cliente (client-side) para controle adicional; gerencie chaves com AWS KMS CMKs e use políticas de chave (key policies) e grants para o mínimo privilégio (least privilege). Restrinja os datasets do S3 a uma VPC usando um S3 VPC endpoint e bucket policies precisas ou S3 Access Points com escopo para o principal da VPC; combine com IAM roles anexadas ao SageMaker, Glue, EMR ou Lambda para impor o mínimo privilégio. Para PII sensíveis, use tokenização ou criptografia em nível de campo (field-level encryption) e garanta que o KMS rotacione as chaves conforme a política. Operacionalmente, habilite o CloudTrail para o registro de atividades da API do SageMaker e do Glue e o CloudWatch para métricas de jobs; use o SageMaker Model Monitor para detecção de desvio (drift) e configure alertas para retreinar ou verificar o viés (bias) dos modelos. A governança de dados requer o Glue Data Catalog ou um repositório de metadados corporativo, linhagem de dados (data lineage) e tagueamento para políticas de ciclo de vida; implemente regras de ciclo de vida do S3 (transição para o glacier) para dados frios (cold data). Equívocos comuns incluem presumir que security groups sozinhos são suficientes (você também precisa de IAM, bucket policies e VPC endpoints), ou esquecer de habilitar a criptografia nos volumes das instâncias de treinamento — sempre inclua a criptografia de EBS nas definições de jobs de treinamento e valide o acesso com roles de privilégio mínimo.
Problema Prático: Cenário de Caso de Uso
Cenário: A MetroRetail opera um ambiente de ML na AWS com o clickstream de clientes sendo ingerido pelo Kinesis Data Streams, armazenado no S3 e modelos treinados no SageMaker. O data lake usa o Glue Catalog e o Athena para os analistas.
Desafio: Converter eventos de clique em CSV de streaming para Parquet no S3 com evolução de esquema, produzir vetores de características (feature vectors) confiáveis para um modelo de recomendação e garantir que o pipeline escale sem copiar datasets de múltiplos gigabytes para as instâncias de treinamento.
Abordagem Recomendada:
- Use o Kinesis Data Streams para ingestão, anexe um consumidor Lambda para realizar validação leve e encaminhar os registros para um delivery stream do Kinesis Data Firehose configurado com o Glue Schema Registry para converter JSON/CSV para Parquet e gravar arquivos Parquet particionados no S3 (com buffer hints ajustados para ~64–128 MB).
- Catalogue o Parquet no AWS Glue; use jobs de Glue ETL (Spark serverless) ou SageMaker Processing (contêiner Spark) para construir pipelines de características reprodutíveis, aplicando imputação (mediana para dados numéricos assimétricos), StandardScaler e embeddings categóricos para
item_idde alta cardinalidade. - Armazene os vetores de características online no SageMaker Feature Store (online store para buscas de baixa latência) e as características offline no S3 (offline store do feature store via Parquet). Treine no SageMaker usando o Pipe mode apontando para manifestos Parquet do S3 para transmitir os dados em streaming e evitar cópias completas.
- Proteja o S3 com SSE-KMS, restrinja o acesso usando um S3 VPC endpoint e bucket policies restritas para a VPC, e habilite o CloudTrail + SageMaker Model Monitor para registro de atividades e alertas de desvio (drift).
Justificativa: Esta abordagem aproveita a conversão gerenciada de streaming para Parquet e o ETL serverless para escalar, usa o Feature Store para consistência entre treinamento e inferência, evita a movimentação custosa de dados com o Pipe mode e impõe criptografia e acesso de privilégio mínimo para prontidão em produção.
Todos os domínios · Análise Exploratória de Dados e Visualização →
Pratique estas questões → · Prática cronometrada no ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Passe no seu exame →