Ir para o conteúdo principal

Catalogação de dados para um lakehouse

O fornecimento de acesso contínuo em toda a plataforma requer um servidor de catálogo robusto

Usando o AWS Glue como um catálogo para o Databricks

Para descobrir dados em todos os seus serviços, você precisa de um catálogo sólido para poder localizar e acessar os dados. O AWS Glue serviço é um metastore compatível com o Apache Hive serverless que permite compartilhar facilmente metadados de tabelas entre AWS serviço, aplicativos ou AWS conta. Databricks e Delta Lake estão integrados com o AWS Glue para descobrir dados em sua organização, registrar dados em Delta Lake e descobrir dados entre instâncias de Databricks.

Benefícios

O Databricks vem pré-integrado com o AWS Glue

Icon Graphic

Simples

Simplifica a capacidade de gerenciamento usando o mesmo catálogo do AWS Glue em vários espaços de trabalho do Databricks.

home icon

Seguro

Segurança integrada usando o Identity and Access Management Credential Pass-Through para metadados no AWS Glue. Para obter uma explicação detalhada, consulte os blogsDatabricks que apresentam Databricks AWS IAM Credential Pass-Through.

Icon Graphic

Colaborativo

Oferece acesso mais fácil a metadados em todo o serviço Amazon e acesso ao catálogo de dados em AWS Glue.

Databricks Delta Integração do Lake com o serviço principal do AWS

Essa implementação de referência ilustra a posição exclusiva da integração do Databricks Delta Lake com o serviço principal do AWS para ajudá-lo a resolver seus desafios mais complexos do data lake. Delta Lake execução em cima do S3, e está integrado com Amazon Kinesis, AWS Glue, Amazon Athena, Amazon Redshift e Amazon QuickSight, apenas para citar alguns.

Se você é novo no Delta Lake, pode saber mais aqui.

delta-lake-code-imgs
icon-orange-hive-metastore-execution

Suporte do Amazon athena e presto para o delta lake

Quando uma tabela externa é definida no site Hive metastore usando arquivos de manifesto, o Presto e o Amazon Athena podem usar a lista de arquivos no arquivo de manifesto em vez de localizar os arquivos pela listagem de diretórios. Essas tabelas podem ser consultadas da mesma forma que as tabelas com dados armazenados em formatos como o Parquet.

Integração do Databricks com o AWS Glue

o passo 1

Como configurar um cluster do Databricks para acessar o AWS Glue Catalog

Lançamento

Primeiro, inicie a computaçãoDatabricks clustercom o AWS Glue Catalog IAM role necessário. Os requisitos do site IAM role e da política estão claramente descritos passo a passo na documentaçãoDatabricks AWS Glue as Metastore.

Neste exemplo, crie um AWS IAM role chamado Field_Glue_Role, que também tem acesso delegado ao meu bucket S3. Anexe a função à configuração do cluster, conforme mostrado no vídeo de demonstração.

Assista ao vídeo de demonstração

delta-lake-code-imgs

Atualizar

Em seguida, as propriedades deSpark Configuration da configuração cluster devem ser definidas antes da cluster startup , conforme mostrado no vídeo sobre como atualizar.

Veja como atualizar as propriedades de configuração Databricks cluster Spark

delta-lake-code-imgs

o passo 2

HSeparação do banco de dados do AWS Glue usando um Databricks Notebook

Anexar

Antes de criar um banco de dados AWS Glue, anexe o cluster ao seu Notebook, criado no passo anterior, e teste sua configuração com o comando mostrado aqui.

Validar

Em seguida, confirme se a mesma lista de bancos de dados é exibida usando o console do AWS Glue e liste os bancos de dados.

Verificar

Crie um novo banco de dados do AWS Glue diretamente do Notebook e verifique se o novo banco de dados do AWS Glue foi criado com sucesso reemitindo o SHOW DATABASES. O banco de dados do AWS Glue também pode ser visualizado no painel de dados.

o passo 3

Criar uma tabela Delta Lake e um arquivo de manifesto usando o mesmo metastore

Criar e catalogar

Crie e catalogue a tabela diretamente do site Notebook para o catálogo de dados do AWS Glue. Consulte Preenchimento do catálogo de dados do AWS Glue para criar e catalogar tabelas usando rastreadores.

O conjunto de dados de demonstração aqui é de um site de recomendação de filmes chamado MovieLens, que é composto por classificações de filmes. Crie um DataFrame com este código Python.

Registrar

Em seguida, registre o DataFrame como uma tabela temporária e acesse-o usando este comando SQL.

Delta Lake

Agora, crie uma tabela Delta Lake usando a tabela temporária criada no passo anterior e este comando SQL.

Observação: É muito fácil criar uma tabela Delta Lake, conforme descrito no guiaDelta Lake Quickstart

Geração de um manifesto para o Amazon Athena

Agora, gere o arquivo de manifesto exigido pelo Amazon Athena usando os seguintes passos.

1. Gere manifestos executando este método Scala. Lembre-se de prefixar a célula com %scala se você tiver criado um Python, SQL ou R Notebook.

2. Crie uma tabela no site Hive metastore conectado ao Athena usando o formato especial SymlinkTextInputFormat e o local do arquivo de manifesto.

No código de exemplo, o arquivo de manifesto é criado no local do arquivo s3a://aws-airlifts/movies_delta/_symlink_format_manifest/.

o passo 4

Consultar a tabela Delta Lake usando o Amazon Athena

Amazon Athena

O Athena é um serverless serviço que não precisa de nenhuma infraestrutura para ser gerenciado e mantido. Portanto, você pode consultar a tabela Delta sem a necessidade de executar um cluster do Databricks.

No console do Amazon Athena, selecione o banco de dados e visualize a tabela, conforme mostrado no vídeo.

video_thumb

Conclusão

A integração do AWS Glue oferece uma estratégia avançada de metastore do serverless para todas as empresas que usam o ecossistema AWS. Aumente a confiabilidade do lago de dados com o Delta Lake e forneça acesso contínuo aos dados do serverless integrando-se ao Amazon Athena. A plataforma Databricks lakehouse potencializa a estratégia data lake em AWS, que permite que analistas de dados, engenheiros de dados e data scientists obtenham acesso a dados confiáveis e de alto desempenho.

Recursos

Vídeo

ty-tn

Blog

ty-tn

História de cliente

OG

Tudo pronto para começar?