Por Que a Ingestão de Dados É a Base de Todo Projeto de ML
Quem trabalha com ML em produção sabe que a maior parte do tempo é dedicada a dados, não a modelos. A preparação de dados consome entre 70 e 80% do tempo de um engenheiro de ML. O exame AWS MLA-C01 reflete essa realidade ao dedicar o Domínio 1 inteiro à preparação de dados.
Amazon S3 Como Hub do Data Lake de ML
O S3 não é apenas um armazenamento de objetos — é o núcleo de todo o ecossistema de ML na AWS. SageMaker lê dados de treinamento do S3. Glue ETL escreve dados transformados no S3. Athena consulta o S3 diretamente. Kinesis Firehose entrega dados de streaming ao S3.
A estratégia de particionamento determina o desempenho das consultas. Usar prefixos como permite que Athena e Glue apliquem "partition pruning" e leiam apenas os dados necessários. Para dados de treinamento, a convenção é separar em , e .
A seleção da classe de armazenamento otimiza custos: S3 Standard para dados ativos de treinamento, S3 Intelligent-Tiering para artefatos menos frequentes, e S3 Glacier para arquivos de conformidade de longo prazo. As políticas de ciclo de vida automatizam essas transições.
S3 Select permite filtrar linhas e colunas de arquivos CSV, JSON e Parquet no lado do servidor com SQL, reduzindo significativamente a transferência de dados para grandes conjuntos de dados.
Formatos de Dados para ML
| Formato | Característica | Melhor Para | |---------|---------------|------------| | CSV | Legível, universal | Protótipos, dados pequenos | | Parquet | Colunar, comprimido | Athena, Glue, análise em grande escala | | RecordIO | Nativo do SageMaker | Algoritmos integrados (XGBoost, classificadores de imagem) | | TFRecord | Nativo do TensorFlow | Pipelines TF/Keras | | JSON Lines | Esquema flexível | NLP, logs de eventos |
O padrão mais comum em produção é ingerir em CSV/JSON, transformar para Parquet com Glue ETL ou EMR, e armazenar no data lake do S3.
Padrões de Ingestão em Lote
AWS Glue é o serviço ETL serverless por excelência para ML. Um Glue Crawler descobre automaticamente esquemas do S3, RDS e Redshift, registrando-os no Glue Data Catalog. Os Jobs ETL do Glue executam transformações PySpark em escala.
Amazon EMR é para cargas de trabalho que superam as capacidades do ETL serverless: processamento distribuído em grande escala com Spark, Hadoop e Hive. O EMR Serverless elimina o gerenciamento do cluster mantendo o poder do Spark.
AWS DMS gerencia a replicação e migração de bancos de dados, ideal para sincronizar continuamente um banco de dados operacional ao S3 para ML, usando Change Data Capture.
Padrões de Ingestão em Streaming
Amazon Kinesis Data Streams oferece streaming durável e escalável com controle de throughput baseado em shards. Cada shard processa até 1 MB/s de entrada ou 1.000 registros/s. Os dados são retidos por até 365 dias.
Amazon Kinesis Data Firehose é o caminho mais simples de um stream de dados para um destino persistente (S3, Redshift, OpenSearch). Gerencia automaticamente o buffering, compressão e agrupamento. Uma função Lambda opcional permite transformações em voo.
Amazon MSK (Managed Streaming for Apache Kafka) é a escolha certa quando a equipe tem experiência prévia com Kafka ou precisa de suas semânticas completas.
!Ingestão em lote vs em streaming
Modos de Entrada de Treinamento no SageMaker
File Mode copia todos os dados do S3 para o armazenamento local do contêiner de treinamento antes de começar. É o modo mais simples, mas pode ter alta latência de inicialização para datasets grandes.
Pipe Mode transmite dados do S3 para o contêiner durante o treinamento sem cópia local. Elimina custos de armazenamento em disco e latência de inicialização. Funciona melhor com formato RecordIO.
FastFile Mode monta dados do S3 como um sistema de arquivos de alto desempenho via Amazon FSx for Lustre. Combina a conveniência do File Mode com o desempenho do Pipe Mode, suportando acesso aleatório. É o modo recomendado para novas cargas de trabalho.
Pontos-Chave para o Exame
"Streaming para S3 com entrega automática e transformação opcional" -- Kinesis Data Firehose com Lambda "ETL serverless, descoberta automática de esquemas" -- AWS Glue com Glue Crawler "Spark distribuído em grande escala" -- Amazon EMR "Controle de acesso a nível de coluna/linha no data lake" -- AWS Lake Formation "Dados pré-copiados antes do treinamento" -- File Mode "Streaming durante o treinamento, sem cópia local" -- Pipe Mode "Montagem lazy de sistema de arquivos, suporta acesso aleatório" -- FastFile Mode