As organizações estão cada vez mais usando uma estratégia multi-nuvem para executar suas cargas de trabalho de produção. Frequentemente vemos solicitações de clientes que começaram sua jornada de dados construindo information lakes no Microsoft Azure, para estender o acesso aos dados para serviços da AWS. Os clientes querem usar uma variedade de serviços de análise, dados, IA e machine studying (ML) da AWS, como Cola AWS, Amazon Redshifte Amazon SageMaker para criar soluções de dados mais eficientes e econômicas, aproveitando a força de provedores de serviços de nuvem individuais para seus casos de uso comercial.
Em tais cenários, os engenheiros de dados enfrentam desafios para conectar e extrair dados de contêineres de armazenamento no Microsoft Azure. Os clientes normalmente usam o Azure Information Lake Storage Gen2 (ADLS Gen2) como seu meio de armazenamento de information lake e armazenam os dados em formatos de tabela aberta, como tabelas Delta, e desejam usar serviços de análise da AWS, como o AWS Glue, para ler as tabelas delta. O AWS Glue, com sua capacidade de processar dados usando o Apache Spark e se conectar a várias fontes de dados, é uma solução adequada para lidar com os desafios de acessar dados em vários ambientes de nuvem.
O AWS Glue é um serviço de integração de dados sem servidor que simplifica a descoberta, a preparação e a combinação de dados para análise, ML e desenvolvimento de aplicativos. Conectores personalizados do AWS Glue permitem que você descubra e integre fontes de dados adicionais, como aplicativos de software program como serviço (SaaS) e suas fontes de dados personalizadas. Com apenas alguns cliques, você pode pesquisar e assinar conectores de Mercado AWS e comece seu fluxo de trabalho de preparação de dados em minutos.
Nesta postagem, explicamos como você pode extrair dados do ADLS Gen2 usando o Conector de armazenamento do Azure Information Lake para AWS Glue. Demonstramos especificamente como importar dados armazenados em tabelas Delta no ADLS Gen2. Fornecemos orientação passo a passo sobre como configurar o conector, criar um script AWS Glue ETL (extrair, transformar e carregar) e carregar os dados extraídos em Serviço de armazenamento simples da Amazon (Amazon S3).
Conector de armazenamento do Azure Information Lake para AWS Glue
O Azure Information Lake Storage Connector para AWS Glue simplifica o processo de conexão de trabalhos do AWS Glue para extrair dados do ADLS Gen2. Ele usa o Interface do sistema de arquivos do Hadoop e o Conector ADLS Gen2 para Hadoop. O Conector de Armazenamento do Azure Information Lake para AWS Glue também inclui o módulo hadoop-azureque permite que você execute Apache Hadoop ou Apache Spark trabalhos diretamente com dados no ADLS. Quando o conector é adicionado ao ambiente AWS Glue, o AWS Glue carrega a biblioteca do Registro de contêiner elástico da Amazon (Amazon ECR) repositório durante a inicialização (como um conector). Quando o AWS Glue tem acesso à web, o trabalho do Spark no AWS Glue pode ler e gravar no ADLS.
Com a disponibilidade do Conector de Armazenamento do Azure Information Lake para AWS Glue no AWS Market, uma conexão com o AWS Glue garante que você tenha os pacotes necessários para usar em seu trabalho do AWS Glue.
Para esta postagem, usamos o Chave compartilhada método de autenticação.
Visão geral da solução
Neste publish, nosso objetivo é migrar uma tabela de produtos chamada sample_delta_table
que atualmente reside no ADLS Gen2, para o Amazon S3. Para fazer isso, usamos o AWS Glue, o Azure Information Lake Storage Connector para AWS Glue e Gerenciador de segredos da AWS para armazenar com segurança a chave compartilhada do Azure. Empregamos um trabalho ETL sem servidor do AWS Glue, configurado com o conector, para estabelecer uma conexão com o ADLS usando autenticação de chave compartilhada pela Web pública. Depois que a tabela é migrada para o Amazon S3, usamos Amazonas Atena para consultar tabelas do Delta Lake.
O diagrama de arquitetura a seguir ilustra como o AWS Glue facilita a ingestão de dados do ADLS.
Pré-requisitos
Você precisa dos seguintes pré-requisitos:
Configure sua conta ADLS Gen2 no Secrets and techniques Supervisor
Conclua as etapas a seguir para criar um segredo no Secrets and techniques Supervisor para armazenar as credenciais do ADLS:
- No console do Secrets and techniques Supervisor, escolha Armazene um novo segredo.
- Para Tipo secretoselecione Outro tipo de segredo.
- Digite a chave
accountName
para o nome da conta de armazenamento ADLS Gen2. - Digite a chave
accountKey
para a chave da conta de armazenamento ADLS Gen2. - Insira o contêiner de chaves para o contêiner ADLS Gen2.
- Deixe o restante das opções como padrão e escolha Próximo.
- Insira um nome para o segredo (por exemplo,
adlstorage_credentials
). - Escolher Próximo.
- Conclua o restante das etapas para armazenar o segredo.
Assine o Azure Information Lake Storage Connector para AWS Glue
O Azure Information Lake Storage Connector para AWS Glue simplifica o processo de conexão de trabalhos do AWS Glue para extrair dados do ADLS Gen2. O conector está disponível como uma oferta do AWS Market.
Conclua as seguintes etapas para assinar o conector:
- Efetue login na sua conta da AWS com as permissões necessárias.
- Navegue até o Página do AWS Market para o Conector de Armazenamento do Azure Information Lake para AWS Glue.
- Escolher Continuar a subscrever.
- Escolher Continuar para a configuração depois de ler o CLUF.
- Para Opção de atendimentoescolher Cola 4.0.
- Para Versão do software programescolha a versão mais recente do software program.
- Escolher Continuar para o lançamento.
Crie uma conexão personalizada no AWS Glue
Após assinar o conector, conclua as etapas a seguir para criar uma conexão do AWS Glue com base nele. Essa conexão será adicionada ao trabalho do AWS Glue para garantir que o conector esteja disponível e que as informações de conexão do armazenamento de dados estejam acessíveis para estabelecer um caminho de rede.
Para criar a conexão AWS Glue, você precisa ativar o Azure Information Lake Storage Connector para AWS Glue no console do AWS Glue Studio. Depois de escolher Continuar para o lançamento nas etapas anteriores, você foi redirecionado para a página inicial do conector.
- No Detalhes de configuração seção, escolha Instruções de uso.
- Escolher Ative o conector Glue do AWS Glue Studio.
O console do AWS Glue Studio permite a opção de ativar o conector ou ativá-lo e criar a conexão em uma etapa. Para este publish, escolhemos a segunda opção.
- Para Conectorverify Conector Azure ADLS para AWS Glue 4.0 é selecionado.
- Para Nomeinsira um nome para a conexão (por exemplo,
AzureADLSStorageGen2Connection
). - Insira uma descrição opcional.
- Escolher Criar conexão e ativar conector.
A conexão agora está pronta para uso. O conector e as informações de conexão estão visíveis no Conexões de dados página do console do AWS Glue.

Ler tabelas Delta do ADLS Gen2 usando o conector em um trabalho ETL do AWS Glue
Conclua as etapas a seguir para criar um trabalho do AWS Glue e configurar as opções de parâmetros de trabalho e conexão do AWS Glue:
- No console do AWS Glue, escolha Empregos ETL no painel de navegação.
- Escolher Código do autor com um editor de script e escolher Editor de script.
- Escolher Criar script e vá para o Detalhes do trabalho seção.
- Atualizar as configurações para Nome e Função IAM.
- Sob Propriedades avançadasadicione a conexão do AWS Glue AzureADLSStorageGen2Connection criada nas etapas anteriores.
- Para Parâmetros do trabalhoadicione a chave
--datalake-formats
com o valor como delta.
- Use o script a seguir para ler a tabela Delta do ADLS. Forneça o caminho para onde você tem os arquivos da tabela Delta no seu contêiner de conta de armazenamento do Azure e o bucket S3 para gravar arquivos delta no native de saída do S3.
- Escolher Correr para começar o trabalho.
- No Corridas guia, confirme se o trabalho foi executado com sucesso.
- No console do Amazon S3, verifique os arquivos delta no bucket do S3 (caminho da tabela Delta).
- Crie um banco de dados e uma tabela no Athena para consultar a tabela Delta migrada no Amazon S3.
Você pode realizar esta etapa usando um rastreador do AWS Glue. O rastreador pode rastrear automaticamente sua tabela Delta armazenada no Amazon S3 e criar os metadados necessários no AWS Glue Information Catalog. O Athena pode então usar esses metadados para consultar e analisar a tabela Delta perfeitamente. Para obter mais informações, consulte Rastrear tabelas do Delta Lake usando rastreadores do AWS Glue.
12. Consulte a tabela Delta:
Seguindo as etapas descritas na postagem, você migrou com sucesso uma tabela Delta do ADLS Gen2 para o Amazon S3 usando um trabalho ETL do AWS Glue.
Leia a tabela Delta em um pocket book AWS Glue
As etapas a seguir são opcionais se você quiser ler a tabela Delta do ADLS Gen2 em um pocket book do AWS Glue:
- Crie um caderno e execute o seguinte código na primeira célula do pocket book para configurar a conexão AWS Glue e
--datalake-formats
em uma sessão interativa:
- Execute o código a seguir em uma nova célula para ler a tabela Delta armazenada no ADLS Gen 2. Forneça o caminho para onde você tem os arquivos delta em um contêiner de conta de armazenamento do Azure e o bucket S3 para gravar arquivos delta no Amazon S3.
Limpar
Para limpar seus recursos, conclua as seguintes etapas:
- Remova o trabalho, o banco de dados, a tabela e a conexão do AWS Glue:
- No console do AWS Glue, escolha Tabelas no painel de navegação, selecione
sample_delta_table
e escolha Excluir. - Escolher Bases de dados no painel de navegação, selecione
deltadb
e escolha Excluir. - Escolher Conexões no painel de navegação, selecione
AzureADLSStorageGen2Connection
e no Ações menu, escolha Excluir.
- No console do AWS Glue, escolha Tabelas no painel de navegação, selecione
- No console do Secrets and techniques Supervisor, escolha Segredos no painel de navegação, selecione
adlstorage_credentials
e no Ações menu, escolha Apagar segredo. - Se você não for mais usar este conector, você pode cancelar a assinatura do conector:
- No console do AWS Market, escolha Gerenciar assinaturas.
- Selecione a assinatura do produto que deseja cancelar e, em Ações menu, escolha Cancelar assinatura.
- Leia as informações fornecidas e marque a caixa de seleção de confirmação.
- Escolher Sim, cancelar assinatura.
- No console Amazon S3, apagar os dados no bucket S3 que você usou nas etapas anteriores.
Você também pode usar o Interface de linha de comando da AWS (AWS CLI) para remover os recursos do AWS Glue e do Secrets and techniques Supervisor. Remova o trabalho do AWS Glue, o banco de dados, a tabela, a conexão e o segredo do Secrets and techniques Supervisor com o seguinte comando:
Conclusão
Nesta publicação, demonstramos um exemplo actual de migração de uma tabela Delta do Azure Delta Lake Storage Gen2 para o Amazon S3 usando o AWS Glue. Usamos um trabalho ETL sem servidor do AWS Glue, configurado com um conector do AWS Market, para estabelecer uma conexão com o ADLS usando autenticação de chave compartilhada pela web pública. Além disso, usamos o Secrets and techniques Supervisor para armazenar com segurança a chave compartilhada e integrá-la perfeitamente ao trabalho ETL do AWS Glue, fornecendo um processo de migração seguro e eficiente. Por fim, fornecemos orientação sobre como consultar a tabela Delta Lake do Athena.
Experimente a solução para seu próprio caso de uso e deixe seu suggestions e perguntas nos comentários.
Sobre os autores
Nitin Kumar é um Cloud Engineer (ETL) na Amazon Net Providers, especializado em AWS Glue. Com uma década de experiência, ele se destaca em auxiliar clientes com suas cargas de trabalho de huge information, com foco em processamento e análise de dados. Ele está comprometido em ajudar clientes a superar desafios de ETL e desenvolver pipelines escaláveis de processamento e análise de dados na AWS. Em seu tempo livre, ele gosta de assistir filmes e passar tempo com sua família.
Shubham Purwar é um Cloud Engineer (ETL) na AWS Bengaluru, especializado em AWS Glue e Amazon Athena. Ele é apaixonado por ajudar clientes a resolver problemas relacionados à sua carga de trabalho de ETL e implementar pipelines de processamento e análise de dados escaláveis na AWS. Em seu tempo livre, Shubham adora passar tempo com sua família e viajar ao redor do mundo.
Pramod Kumar P é um Resolution Architect na Amazon Net Providers. Com 19 anos de experiência em tecnologia e quase uma década projetando e arquitetando soluções de conectividade (IoT) na AWS, ele orienta os clientes a criar soluções com os princípios arquitetônicos certos para atender aos seus resultados comerciais.
Madhavi Watve é uma Arquiteta de Soluções Sênior na Amazon Net Providers, fornecendo ajuda e orientação a uma ampla gama de clientes para construir aplicativos altamente seguros, escaláveis, confiáveis e econômicos na nuvem. Ela traz mais de 20 anos de experiência em tecnologia em desenvolvimento e arquitetura de software program e é especialista em análise de dados.
Swathi S é uma gerente de contas técnicas da equipe de suporte empresarial da Amazon Net Providers. Ela tem mais de 6 anos de experiência com a AWS em tecnologias de huge information e é especialista em estruturas analíticas. Ela é apaixonada por ajudar os clientes da AWS a navegar no espaço da nuvem e gosta de ajudar com o design e a otimização de cargas de trabalho analíticas na AWS.