P: O que é o AWS Glue?

O AWS Glue é um serviço de extração, transformação e carga (ETL) totalmente gerenciado e com pagamento conforme o uso. O serviço automatiza as etapas demoradas de preparação de dados para análise. O AWS Glue descobre e cria automaticamente o perfil dos dados usando o Glue Data Catalog, recomenda e gera código ETL para transformar dados de origem em schemas de destino, e ainda executa os trabalhos ETL em um ambiente Apache Spark totalmente gerenciado com escalabilidade horizontal para carregar os dados no destino. O serviço permite configurar, orquestrar e monitorar fluxos de dados complexos.

P: Como faço para começar a usar o AWS Glue?

Para começar a usar o AWS Glue, basta fazer login no Console de Gerenciamento da AWS e navegar até a opção "Glue" sob a categoria "Analytics". Você pode seguir um dos nossos tutoriais orientados para examinar um exemplo de caso de uso do AWS Glue. Também é possível encontrar código de exemplo de ETL no repositório do GitHub, em AWS Labs.

P: Quais são os principais componentes do AWS Glue?

O AWS Glue consiste em um catálogo de dados, que é um repositório central de metadados; um mecanismo de ETL que pode gerar automaticamente código Python; e um programador flexível que processa a resolução de dependências, o monitoramento de trabalhos e as tentativas de nova execução. Juntos, esses componentes automatizam a maior parte do trabalho pesado genérico necessário para descobrir, categorizar, limpar, enriquecer e aprimorar dados, permitindo que você invista mais tempo na análise dos dados.

P: Quando devo usar o AWS Glue?

Você deve usar o AWS Glue para descobrir propriedades de dados, transformá-los e prepará-los para análises. O Glue é capaz de descobrir automaticamente dados estruturados e semiestruturados armazenados em um data lake no Amazon S3, em um data warehouse no Amazon Redshift e em diversos bancos de dados executados na AWS. O serviço oferece uma visualização unificada dos dados por meio do catálogo de dados do Glue, disponível para ETL, consultas e relatórios usando serviços como Amazon Athena, Amazon EMR e Amazon Redshift Spectrum. O Glue gera automaticamente código Python para trabalhos de ETL que podem ser personalizados ainda mais usando as ferramentas que você já conhece. O AWS Glue é um serviço sem servidor. Portanto, não há necessidade de configurar e gerenciar recursos de computação.

P: Para quais fontes de dados o AWS Glue oferece suporte?

O AWS Glue oferece suporte nativo a dados armazenados nos serviços Amazon Aurora, Amazon RDS for MySQL, Amazon RDS for Oracle, Amazon RDS for PostgreSQL, Amazon RDS for SQL Server, Amazon Redshift e Amazon S3, bem como nos bancos de dados MySQL, Oracle, Microsoft SQL Server e PostgreSQL em uma Virtual Private Cloud (Amazon VPC) executada no Amazon EC2. Os metadados armazenados no catálogo de dados do AWS Glue podem ser acessados imediatamente pelo Amazon Athena, pelo Amazon EMR e pelo Amazon Redshift Spectrum. Também é possível criar código PySpark personalizado e importar bibliotecas em trabalhos de ETL do Glue para acessar fontes de dados que não contam com o suporte nativo do AWS Glue. Para obter mais detalhes sobre a importação de bibliotecas personalizadas, consulte a nossa documentação.

Voltar ao início »


P: O que é o catálogo de dados do AWS Glue?

O catálogo de dados do AWS Glue é um repositório central para armazenamento de metadados estruturais e operacionais de todos os ativos de dados. Para um determinado conjunto de dados, é possível armazenar a definição da tabela, a localização física e atributos relevantes para os negócios, bem como rastrear as alterações dos dados ao longo do tempo.

O catálogo de dados do AWS Glue é compatível com o Apache Hive Metastore e pode substituí-lo imediatamente para aplicativos de big data executados no Amazon EMR. Para obter mais informações sobre como configurar um cluster do EMR para usar o AWS Glue Data Catalog como substituto do Apache Hive Metastore, clique aqui.

O catálogo de dados do AWS Glue também oferece integração pronta para uso com o Amazon Athena, o Amazon EMR e o Amazon Redshift Spectrum. Após a adição das definições de tabelas ao catálogo de dados do Glue, elas estarão disponíveis para ETL e para consultas no Amazon Athena, no Amazon EMR e no Amazon Redshift Spectrum, oferecendo uma visualização comum dos dados em todos esses serviços.

P: Como faço para colocar metadados no catálogo de dados do AWS Glue?

O AWS Glue oferece diversas formas de inclusão de metadados no catálogo de dados do AWS Glue. Os crawlers do Glue varrem diversos datastores para inferir automaticamente schemas e estrutura de partições, preenchendo o catálogo de dados do Glue com as definições e estatísticas de tabela correspondentes. Também é possível programar a execução periódica dos crawlers para manter os metadados sempre atualizados e sincronizados com os dados subjacentes. Como alternativa, você pode adicionar e atualizar manualmente detalhes de tabela, usando o console do AWS Glue ou chamando sua API. Além disso, é possível executar instruções de DDL do Hive por meio do console do Amazon Athena ou de um cliente do Hive em um cluster do Amazon EMR. Por fim, se você já tiver um Apache Hive Metastore persistente, poderá executar uma importação em massa desses metadados para o AWS Glue Data Catalog usando o nosso script de importação.

P: O que são os crawlers do AWS Glue?

Um crawler do AWS Glue se conecta a um datastore, percorre uma lista priorizada de classificadores para extrair o schema dos dados e outras estatísticas, e preenche o catálogo de dados do Glue com esses metadados. Os crawlers podem ser executados periodicamente para detectar a disponibilidade de novos dados, bem como alterações feitas nos dados atuais, inclusive alterações de definição de tabela. Os crawlers adicionam automaticamente novas tabelas, novas partições para tabelas atuais e novas versões de definições de tabela. Você pode personalizar os crawlers do Glue para classificar seus próprios tipos de arquivos.

P: Como posso importar dados de um Apache Hive Metastore existente para o catálogo de dados do AWS Glue?

Basta executar um trabalho de ETL que lê o Apache Hive Metastore, exporta os dados para um formato intermediário no Amazon S3 e importa esses dados para o catálogo de dados do AWS Glue.

P: Precisarei manter o meu Apache Hive Metastore se armazenar os metadados no catálogo de dados do AWS Glue?

Não. O catálogo de dados do AWS Glue é compatível com o Apache Hive Metastore. Você pode indicar o endpoint do Glue Data Catalog e usá-lo como substituto do Apache Hive Metastore. Para obter mais informações sobre como configurar um cluster para usar o AWS Glue Data Catalog como substituto do Apache Hive Metastore, leia a nossa documentação aqui.

P: Se eu já estiver usando o Amazon Athena ou o Amazon Redshift Spectrum e tiver tabelas no catálogo de dados interno do Amazon Athena, como poderei começar a usar o catálogo de dados do AWS Glue como repositório de metadados comum?

Antes de começar a usar o catálogo de dados do AWS Glue como repositório de metadados comum entre o Amazon Athena, o Amazon Redshift Spectrum e o AWS Glue, é necessário atualizar o catálogo de dados do Amazon Athena para o catálogo de dados do AWS Glue. As etapas necessárias para a atualização estão detalhadas aqui.

Voltar ao início »


P: Como posso personalizar o código de ETL gerado pelo AWS Glue?

O sistema de recomendação de scripts de ETL do AWS Glue gera código PySpark. Esse sistema aproveita a biblioteca personalizada de ETL para simplificar o acesso a fontes de dados e gerenciar a execução de trabalhos. Você pode encontrar mais detalhes sobre a biblioteca em nossa documentação. Você pode escrever código de ETL usando a biblioteca personalizada do AWS Glue ou criar código Spark arbitrário no Python (código PySpark) usando a edição em linha do editor de scripts do console do AWS Glue, fazendo o download do código gerado automaticamente e editando esse código em seu próprio IDE. Também é possível começar com um dos vários exemplos hospedados em nosso repositório do Github, personalizando o código dos exemplos.

P: Posso importar bibliotecas personalizadas como parte de um script de ETL?

Sim. Você pode importar bibliotecas PySpark personalizadas no trabalho de ETL do AWS Glue. Para obter mais detalhes, consulte a nossa documentação aqui.

P: Posso usar o meu próprio código?

Sim. Você pode escrever o seu próprio código usando a biblioteca de ETL do AWS Glue ou escrever o seu próprio código PySpark e fazer upload dele para um trabalho de ETL do Glue. Para obter mais detalhes, consulte a nossa documentação aqui.

P: Como posso desenvolver código de ETL em meu próprio IDE?

Você pode criar e conectar endpoints de desenvolvimento que permitem a conexão de notebooks e IDEs.

P: Como posso criar um fluxo de trabalho completo de ETL usando vários trabalhos no AWS Glue?

Além da biblioteca ETL e da geração de código, o AWS Glue oferece um conjunto sólido de recursos de orquestração que permite gerenciar dependências entre vários trabalhos para criar fluxos de trabalho completos de ETL. Os trabalhos de ETL do AWS Glue podem ser acionados de forma programada ou por eventos de conclusão de trabalho. Vários trabalhos podem ser acionados em paralelo ou sequencialmente no evento de conclusão de um trabalho. Também é possível acionar um ou mais trabalhos do Glue de uma fonte externa, como uma função do AWS Lambda.

P: Como o AWS Glue monitora dependências?

O AWS Glue gerencia dependências entre dois ou mais trabalhos ou dependências de eventos externos usando triggers. Os triggers podem observar e invocar um ou mais trabalhos. É possível ter um trigger programado que invoca periodicamente os trabalhos, um trigger sob demanda ou um trigger de conclusão de trabalho.

P: Como o AWS Glue processa erros?

O AWS Glue monitora métricas e erros de eventos de trabalhos e envia todas as notificações ao Amazon CloudWatch. Com o Amazon CloudWatch, você pode configurar diversas ações que podem ser acionadas de acordo com notificações específicas do AWS Glue. Por exemplo, se você receber uma notificação de erro ou conclusão bem-sucedida do Glue, poderá acionar uma função do AWS Lambda. Além disso, o Glue oferece um comportamento padrão de novas tentativas que tenta executar novamente três vezes todos os processos que apresentaram falha antes de enviar uma notificação de erro.

P: Posso executar trabalhos de ETL existentes com o AWS Glue?

Sim. É possível executar código PySpark existente no AWS Glue. Basta fazer upload do código para o Amazon S3 e criar um ou mais trabalhos que usam esse código. Você pode reutilizar o mesmo código em diversos trabalhos, direcionando-os ao mesmo local de código no Amazon S3.

P: Como posso usar o AWS Glue para executar ETL com dados de streaming?

O ETL do AWS Glue é orientado a lotes. Você pode programar trabalhos de ETL com intervalos mínimos de 5 minutos. Embora possa processar microlotes, o ETL do AWS Glue não processa dados de streaming. Se o seu caso de uso exigir a execução de ETL em dados de streaming recebidos, você poderá executar a primeira parte do ETL usando o Amazon Kinesis, o Amazon Kinesis Firehose ou o Amazon Kinesis Analytics e armazenar os dados resultantes no Amazon S3 ou no Amazon Redshift, acionando então um trabalho de ETL do Glue para acessar esses conjuntos de dados e continuar a aplicar transformações adicionais a esses dados.

P: Tenho de usar o catálogo de dados do AWS Glue e o ETL do Glue para usar o serviço?

Não. Acreditamos que o uso do catálogo de dados e do ETL do AWS Glue proporcione uma experiência completa de ETL. No entanto, é possível usar um deles independentemente do outro.

Voltar ao início »


P: Quando devo usar o AWS Glue e quando devo usar o AWS Data Pipeline?

O AWS Glue disponibiliza um serviço ETL gerenciado, executado em um ambiente Apache Spark sem servidor. Assim, você pode se concentrar nos trabalhos de ETL e deixar de se preocupar com a configuração e o gerenciamento dos recursos computacionais subjacentes. O AWS Glue adota uma abordagem voltada a dados e permite que você se concentre nas propriedades e na manipulação dos dados para transformá-los em um formato que permite obter insights empresariais. O serviço oferece um catálogo de dados integrado que disponibiliza metadados para ETL e para consultas por meio do Amazon Athena e do Amazon Redshift Spectrum.

O AWS Data Pipeline oferece um serviço gerenciado de orquestração que proporciona maior flexibilidade em termos do ambiente de execução, do acesso e do controle sobre os recursos computacionais que executam código, bem como sobre o próprio código responsável pelo processamento dos dados. O AWS Data Pipeline executa recursos computacionais na sua conta, permitindo acessar diretamente instâncias do Amazon EC2 ou clusters do Amazon EMR.

Além disso, os trabalhos de ETL do AWS Glue são baseados no PySpark. Se o seu caso de uso exigir outro mecanismo que não seja o Apache Spark, ou se você quiser executar um conjunto heterogêneo de trabalhos em diversos mecanismos (como Hive, Pig etc.), o AWS Data Pipeline será a melhor opção.

P: Quando devo usar o AWS Glue e quando devo usar o Amazon EMR?

O AWS Glue trabalha em um ambiente Apache Spark para disponibilizar um ambiente de execução com escalabilidade horizontal para trabalhos de transformação de dados. O AWS Glue infere, desenvolve e monitora trabalhos de ETL para simplificar consideravelmente o processo de criação e manutenção de trabalhos. O Amazon EMR oferece acesso direto a um ambiente Hadoop, permitindo acesso em nível mais baixo e maior flexibilidade no uso de ferramentas diferentes do Spark.

P: Quando devo usar o AWS Glue e quando devo usar o AWS Database Migration Service?

O AWS Database Migration Service (DMS) ajuda a migrar bancos de dados para a AWS de modo fácil e seguro. Para casos de uso que exigem uma migração de bancos de dados locais para a AWS ou uma replicação de bancos de dados entre fontes locais e na AWS, recomendamos o uso do AWS DMS. Depois que os dados estiverem na AWS, você poderá usar o AWS Glue para movimentar e transformar dados da fonte de dados para outro banco de dados ou data warehouse, como o Amazon Redshift.

P: Quando devo usar o AWS Glue e quando devo usar o AWS Batch?

O AWS Batch permite executar com facilidade e eficiência qualquer trabalho de computação em lotes na AWS, independentemente da natureza do trabalho. O AWS Batch cria e gerencia recursos computacionais em uma conta da AWS, oferecendo controle e visibilidade totais sobre os recursos usados. O AWS Glue é um serviço ETL totalmente gerenciado que disponibiliza um ambiente Apache Spark sem servidor para a execução de trabalhos ETL. Para casos de uso de ETL, recomendamos avaliar o uso do AWS Glue. Para outros casos de uso voltados a lotes, inclusive alguns casos de uso de ETL, o AWS Batch pode ser uma melhor opção.

P: Quando devo usar o AWS Glue e quando devo usar o Amazon Kinesis Analytics?

O Amazon Kinesis Analytics permite executar consultas SQL padrão em um stream de dados recebido. Você pode especificar um destino, como o Amazon S3, para gravar os resultados. Depois que os dados estiverem disponíveis na fonte de dados de destino, você poderá iniciar um trabalho de ETL do AWS Glue para continuar a transformar os dados e prepará-los para análises e relatórios adicionais.

Voltar ao início »


P: Como sou cobrado pelo AWS Glue?

Você paga uma única taxa mensal, acima do nível gratuito do catálogo de dados do AWS Glue, pelo armazenamento e acesso de metadados no catálogo de dados do AWS Glue. Além disso, você paga uma taxa horária, cobrada por segundo, pela execução do trabalho de ETL e do crawler, com um período mínimo de 10 minutos para cada um deles. Se optar pelo uso de um endpoint de desenvolvimento para desenvolver interativamente código de ETL, você pagará uma taxa horária, cobrada por segundo, pelo tempo de provisionamento do endpoint de desenvolvimento, com um período mínimo de 10 minutos. Para obter mais detalhes, consulte a nossa página de definição de preço.

P: Quando começa e quando termina a cobrança de trabalhos do AWS Glue?

A cobrança começa assim que o trabalho é programado para execução e continua até o término de todo o trabalho. Com o AWS Glue, você paga apenas pelo tempo de execução do trabalho e não paga pelo tempo de provisionamento ou encerramento do ambiente.

Voltar ao início »


P: Como o AWS Glue mantém meus dados seguros?

Disponibilizamos criptografia no lado do servidor para dados em repouso, e SSL para dados em trânsito.

P: Quais são os limites de serviço associados ao AWS Glue?

Consulte a nossa documentação para saber mais sobre os limites do serviço.

P: Em quais regiões o AWS Glue está disponível?

No momento, o AWS Glue está disponível nas regiões Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio) e Oeste dos EUA (Oregon). Lançaremos novas regiões adicionais nos próximos meses. Consulte a nossa página de definição de preço para obter detalhes.

P: Como várias unidades de processamento de dados (DPUs) são alocadas ao endpoint de desenvolvimento?

Por padrão, um endpoint de desenvolvimento é provisionado com 5 DPUs. Você pode configurar um endpoint de desenvolvimento com 2 a 5 DPUs.

P: Como faço para escalar o tamanho e o desempenho dos trabalhos de ETL do AWS Glue?

Basta especificar o número de unidades de processamento de dados (DPUs) que você quer alocar a um trabalho de ETL. Um trabalho de ETL do Glue exige pelo menos 2 DPUs. Por padrão, o AWS Glue aloca 10 DPUs a cada trabalho de ETL.

P: Como faço para monitorar a execução de trabalhos do AWS Glue?

O AWS Glue fornece o status de cada trabalho e envia todas as notificações a eventos do Amazon CloudWatch. Você pode configurar notificações SNS por meio de ações do CloudWatch para ser informado sobre falhas ou conclusões de trabalhos.

Voltar ao início »