A AWS é o maior provedor de data center em nuvem pública e privada do mundo. Como parte de seu portfólio de processamento de big data, a AWS desenvolveu o Glue e o Amazon EMR. O AWS Glue é uma ferramenta de extração, transformação e carregamento (ETL) que ajuda cientistas de dados a manipular e mover dados via Amazon S3.
O Amazon EMR, abreviação de Amazon Elastic MapReduce, é uma plataforma de processamento de big data, fluxos de dados em tempo real, consultas SQL e aprendizado de máquina. O EMR pode ser usado para executar e escalar clusters Apache Spark, entre outros mecanismos de big data.
Embora ambas as ferramentas ofereçam recursos de processamento ETL, qual você escolherá dependerá muito da sua infraestrutura atual. Vamos explorar AWS Glue vs. EMR para que você possa decidir se o uso de ambas as plataformas em paralelo ou a escolha de uma delas é o certo para seu negócio.
O AWS Glue é um serviço de integração de dados sem servidor disponível na nuvem da AWS. A plataforma tem como objetivo ajudar analistas de dados a descobrir dados em diversas fontes, preparar os dados em vários formatos e esquemas e combinar conjuntos de dados usando o mapeamento de dados. O AWS Glue funciona com uma variedade de armazenamentos de dados, como bancos de dados, data lakes e fontes de data warehouse.
A barreira de entrada para os fluxos de trabalho ETL é reduzida graças às interfaces visualizadas para usuários não técnicos, juntamente com interfaces mais poderosas baseadas em código para usuários técnicos. Todos os metadados para o AWS Glue são armazenados no AWS Glue Data Catalog, o que significa que qualquer usuário pode encontrar e acessar conjuntos de dados relevantes.
O Amazon Elastic MapReduce (EMR) é uma plataforma de big data. Ele oferece suporte a streaming de dados em tempo real para cargas de trabalho de inteligência artificial e aprendizado de máquinha via Apache Spark e de outros mecanismos de análise. Isso é possibilitado por pipelines de dados escaláveis que extraem dados da fonte e os entregam ao destino. A análise preditiva em grande escala e os modelos estatísticos no EMR também podem ser usados para ajudar a descobrir tendências e correlações.
Os benefícios do EMR incluem escalabilidade em nível de petabyte pela metade do custo do local e tempo de insight até duas vezes mais rápido para cargas de trabalho de análise. O EMR Studio pode ser usado para criar pipelines de dados, visualizar fluxo de dados e executar consultas SQL.
Tanto o AWS Glue quanto o EMR são capazes de habilitar processos e fluxos de trabalho de ETL. No entanto, há algumas diferenças fundamentais na maneira como os dois serviços operam.
O AWS Glue é uma plataforma de integração de dados sem servidor que lida com a infraestrutura, as opções de configuração e a instalação. Ele pode trabalhar com formatos de dados estruturados e semiestruturados para inferir automaticamente referências de esquema.
O Amazon EMR é uma sobreposição de serviço gerenciado para infraestruturas autoconfiguradas, como instâncias ou clusters do Amazon EC2. O EMR também oferece uma opção dedicada sem servidor. O EMR oferece suporte a componentes do ecossistema Apache Hadoop, como Spark, Hive, HBase e Presto, com armazenamento de dados no Amazon Athena, Amazon Redshift e outras soluções de análise de big data.
Em resumo, o AWS Glue é uma plataforma ETL escalável, fácil de configurar e usar. No entanto, sua facilidade de uso tem com limitações, o que a torna mais adequada para trabalhos com requisitos de infraestrutura mais flexíveis. O Amazon EMR tem um conjunto de recursos muito mais rico, incluindo compatibilidade com hospedagem de componentes Hadoop, bibliotecas de aprendizado de máquina TensorFlow e consultas Presto SQL. O Glue é adequado para fluxos de trabalho mais simples de ETL e integração de dados, enquanto o EMR é uma plataforma de serviçoss gerenciados de operações de dados mais abrangente.
Como acontece com a maioria dos serviços de nuvem, quanto mais ele fizer por você, mais caro será. O AWS Glue é uma plataforma sem servidor, o que significa que você pode ignorar a implementação e a configuração da infraestrutura para se concentrar nos fluxos de trabalho de ETL.
O EMR aproveita as fontes de dados existentes para facilitar consultas SQL, streaming de dados e outros processos de ETL. Isso resulta em custos mais baixos, pois a implantação de dados e o ônus da configuração são seus. Esses custos mais baixos podem ser compensados pagando funcionários para configurar e implantar o EMR, e a despesa operacional adicional para cada serviço AWS que o acompanha.
Você pode comparar o custo de cada serviço para o seu caso de uso pretendido com a Calculadora de preços da AWS.
Desde abril de 2022, o maior tipo de trabalhador do AWS Glue é o G.2X. Ele vem com um limite superior de 32 GB de memória do executor, o que significa que descompactar arquivos altamente compactados pode levar a erros de "falta de memória". Já o EMR pode usar qualquer tipo de instância da AWS, permitindo alocações de RAM muito maiores, de até 24 Tebibytes (TiB).
Para aqueles que armazenam dados em grande escala na nuvem, é benéfico usar mecanismos de computação distribuída, bancos de dados nativos da nuvem e data warehouses. O Amazon EMR e o AWS Glue são dois serviços que as organizações podem usar para fazer isso. Vamos explorar mais dois cenários em que os trabalhos do Glue ou EMR podem ser mais adequados para uso separado.
Se você estiver testando um fluxo de trabalho de dados totalmente novo, o AWS Glue pode ser uma opção melhor. Ele permite que você pule a configuração e a implantação da infraestrutura e simplesmente execute um fluxo de trabalho de dados. A natureza de pagamento conforme o uso (PAYG) do Glue leva a pouco risco de desperdício de gastos.
A configuração de um cluster EMR para ambientes de teste e fluxos de trabalho únicos aumentaria o esforço com pouco benefício para o negócio. O único problema seria a compatibilidade do Glue com a fonte de dados. Em contrapartida, o EMR oferece mais flexibilidade usando todos os tipos de instância da AWS.
Para cargas de trabalho de processamento de Big Data ou aprendizado de máquina, o EMR pode ser uma opção melhor devido à sua flexibilidade. Ele pode lidar de forma segura e confiável com aprendizado de máquina, deep learning, ETL de dados e análise de streaming em tempo real.
O Glue é mais focado em ações de extração, transformação e carregamento (ETL). Ele pode executar transformações de aprendizado de máquina, mas tem muitas limitações para análise de streaming em tempo real devido às janelas de processamento e gravação que duram 100 segundos. A detecção do Glue Schema também desabilita as ações de junção de dados de streaming, com suporte apenas para transformações incorporadas do Glue ou transformações Apache Spark Structured Streaming sendo suportadas.
O AWS Glue e Amazon EMR são plataformas semelhantes que se diferenciam por sua simplicidade e flexibilidade. AWS Glue é uma maneira rápida e de baixo esforço de executar trabalhos de ETL na nuvem. O EMR é uma solução de processamento de big data mais robusta e rica em recursos que permite ETL junto com streaming de dados em tempo real para cargas de trabalho de ML usando infraestrutura existente. A flexibilidade do EMR vem com um ônus de gerenciamento, mas geralmente resulta em menos despesas do que o Glue, devido ao fato de evitar recursos sem servidor.
Em última análise, o Amazon EMR é adequado para operações de dados em pequena e grande escala, enquanto o Glue é muito mais ad-hoc e adequado para pequenos trabalhos em lote. No entanto, como eles têm finalidades diferentes, você pode acabar usando as duas ferramentas — o Glue para tarefas ad-hoc que você deseja realizar rapidamente e o EMR para trabalhos de processamento de dados distribuídos em larga escala e de longo prazo.
Quer saber mais sobre migração ETL?
Descubra como a Trianz reduz o tempo de migração de bancos de dados legados e ferramentas ETL existentes para o AWS Glue em até 50%.