AWS Glue: o Bom, o Mau e o Feio
Nessa trilogia de artigo, começaremos falando sobre o AWS Glue: o Bom, o Mau e o Feio.
O AWS Glue um serviço de ETL (Extração, Transformação e Carregamento) oferecido pela Amazon Web Services (AWS) que visa simplificar o processo de integração de dados. Ele permite que você extraia dados de diversas fontes, como bases de dados relacionais, arquivos de texto e até mesmo fontes em nuvem, e os transforme em um formato compatível com os requisitos da sua aplicação. Além disso, o Glue pode carregar os dados transformados para diversos destinos, como tabelas em bancos de dados, data lakes e até arquivos em sistemas de arquivos distribuídos.
O Glue é considerado por muitos uma ferramenta muito útil e poderosa, especialmente por sua simplicidade e facilidade de uso. Com ele é possível criar jobs ETL sem precisar escrever uma única linha de código, pois o serviço possui uma interface de drag and drop que permite a criação de fluxos de trabalho de forma visual. Além disso, o Glue oferece suporte a diversas linguagens de programação, como Python, Scala e Ruby, o que permite a integração com outras ferramentas e sistemas de forma mais ampla.
Aqui vão alguns exemplos do que o Glue é capaz de fazer:
- Carregar dados de um arquivo Excel em um armazenamento de dados centralizado, como o Amazon S3.
- Criar um fluxo de trabalho automatizado para carregar dados de uma fonte de dados, como um banco de dados relacional, todas as noites.
- Transformar os dados carregados, como remover colunas indesejadas ou dividir uma coluna em várias colunas.
- Criar um catálogo de metadados para os dados carregados, o que ajuda a organizá-los e torná-los mais fáceis de encontrar.
- Carregar os dados do Amazon S3 para o DynamoDB, usando o AWS Glue para mapear os campos do arquivo CSV para as colunas na tabela do DynamoDB.
Basicamente, o Glue trabalha buscando dados de uma fonte e mapeando seus metadados, transforma estes dados conforme o desejado e, por fim, deposita estes dados em um local de saída (arquivo no S3, banco de dados relacional, DynamoDB, você escolhe).
No entanto, como toda ferramenta, o Glue também possui alguns pontos negativos. Um deles é o seu preço, que pode ser um pouco mais caro, dependendo do volume de dados que você precisa processar. Além disso, o Glue não é tão flexível quanto outras ferramentas ETL, o que pode ser um problema para quem precisa de uma solução mais customizada. Por fim, o Glue também pode ser um pouco complicado de configurar e manter, especialmente para quem não está familiarizado com os conceitos e tecnologias subjacentes.
Vamos falar no detalhe de cada um:
O Bom:
- Simplicidade e facilidade de uso: o Glue possui uma interface de drag and drop que permite a criação de fluxos de trabalho de forma visual, sem a necessidade de escrever código.
- Suporte a diversas linguagens de programação: o Glue oferece suporte a diversas linguagens de programação, como Python, Scala e Ruby, o que permite a integração com outras ferramentas e sistemas de forma mais ampla.
- Poder de processamento: o Glue é capaz de processar grandes volumes de dados de forma rápida e eficiente, graças ao uso de clusters de processamento em paralelo.
O Mau:
- Preço: o Glue pode ser um pouco caro dependendo do volume de dados que você precisa processar.
- Falta de flexibilidade: o Glue não é tão flexível quanto outras ferramentas ETL, o que pode ser um problema para quem precisa de uma solução mais customizada.
O Feio:
- Configuração e manutenção: o Glue pode ser um pouco complicado de configurar e manter, especialmente para quem não está familiarizado com os conceitos gerais e/ou boas práticas de evolução de código.
Em resumo, o AWS Glue é uma ferramenta poderosa e útil para quem precisa realizar integração de dados de forma simples e rápida. No entanto, seu alto preço e falta de flexibilidade podem ser um problema para alguns usuários, e a configuração e manutenção do serviço podem ser um desafio para aqueles que não possuem conhecimentos avançados em tecnologias de integração de dados.
Referências:
- Amazon Web Services. (2021). AWS Glue. Disponível em: https://aws.amazon.com/pt/glue/
- Santos, E. (2021). AWS Glue: o guia definitivo. Disponível em: https://www.linkedin.com/pulse/aws-glue-o-guia-definitivo-emerson-santos/
- Gama, R. (2020). AWS Glue: a ferramenta perfeita para ETL. Disponível em: https://www.infoq.com/br/articles/aws-glue-etl-tool/
- Transforme e catalogue dados com o AWS Glue Parte 1 (2020). Disponível em: https://www.youtube.com/watch?v=zDw1WxgxvfQ