As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Os usuários podem analisar dados armazenados no Amazon S3 executando consultas SQL a partir de JupyterLab notebooks usando a extensão SQL. A extensão se integra ao Athena, permitindo a funcionalidade de dados no Amazon S3 com algumas etapas extras.
Esta seção mostra as etapas para carregar dados do Amazon S3 no Athena e, em seguida, consultar esses dados JupyterLab usando a extensão SQL. Você criará uma fonte de dados e um AWS Glue rastreador do Athena para indexar seus dados do Amazon S3, configurar as permissões apropriadas do IAM para permitir o acesso ao Athena e se conectar JupyterLab ao Athena para consultar os dados. JupyterLab Seguindo essas poucas etapas, você poderá analisar os dados do Amazon S3 usando a extensão SQL em JupyterLab notebooks.
Pré-requisitos
-
Faça login no AWS Management Console usando uma conta de usuário AWS Identity and Access Management (IAM) com permissões de administrador. Para obter informações sobre como se inscrever em uma conta da AWS e criar um usuário com acesso administrativo, consulte Pré-requisitos completos do Amazon SageMaker AI.
-
Tenha um domínio de SageMaker IA e um perfil de usuário para acessar o SageMaker Studio. Para obter informações sobre como configurar um ambiente de SageMaker IA, consulteUse a configuração rápida para Amazon SageMaker AI.
-
Tenha um bucket e uma pasta do Amazon S3 para armazenar os resultados da consulta do Athena, usando a mesma AWS região e conta do seu ambiente de IA. SageMaker Para obter mais informações sobre como criar um bucket no Amazon S3, consulte Criar um bucket, na documentação do Amazon S3. Você configurará o bucket e a pasta para serem o local de saída da consulta.
Para acessar e consultar os dados no Amazon S3:
Etapa 1: configurar uma fonte de dados e um AWS Glue rastreador Athena para seus dados do Amazon S3
Siga estas etapas para indexar seus dados no Amazon S3 e criar tabelas no Athena.
nota
Para evitar conflitos entre nomes de tabelas de diferentes locais do Amazon S3, crie uma fonte de dados e um crawler separados para cada local. Cada fonte de dados cria uma tabela com o nome da pasta que as contém, a menos que seja prefixada.
-
Configure um local para resultados de consultas
-
Vá para o console Athena:. https://console.aws.amazon.com/athena/
-
No menu à esquerda, escolha Grupos de trabalho.
-
Acesse o link do grupo de trabalho
primary
e escolha Editar. -
Na seção Configuração do resultado da consulta, insira o caminho do Amazon S3 para seu diretório de saída e escolha Salvar alterações.
-
-
Crie uma fonte de dados do Athena para os dados do Amazon S3
-
No menu à esquerda no console do Athena, escolha Fontes de dados e, em seguida, Criar fonte de dados.
-
Escolha S3 - Catálogo de AWS Glue dados e, em seguida, Avançar.
-
Mantenha o padrão em Catálogo de dados do AWS Glue nessa conta, escolha Criar um crawler no AWS Glue e, em seguida, selecione Criar no AWS Glue. Isso abre o AWS Glue console.
-
-
Use AWS Glue para rastrear sua fonte de dados
-
Insira um nome e uma descrição para seu novo crawler e, depois, selecione Próximo.
-
Em Fontes de dados, escolha Adicionar uma fonte de dados.
-
Se o bucket do Amazon Amazon S3 contendo seus dados estiver em uma AWS conta diferente do seu ambiente de SageMaker IA, escolha Em uma conta diferente para a localização dos dados do S3.
-
Insira o caminho para o conjunto de dados no Amazon S3. Por exemplo:
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/
-
Mantenha todos os outros valores padrão e escolha Adicionar uma fonte de dados do Amazon S3. Você deve ver uma nova fonte de dados do Amazon S3 na tabela de fontes de dados.
-
Escolha Próximo.
-
-
Configure o perfil do IAM para o crawler acessar seus dados.
nota
Cada perfil tem o escopo reduzido à fonte de dados que você especifica. Ao reutilizar um perfil, edite a política JSON para adicionar qualquer novo recurso ao qual você queira conceder acesso ou criar um novo perfil para essa fonte de dados.
-
Escolha Criar novo perfil do IAM.
-
Insira um nome para o perfil e escolha Avançar.
-
-
-
Crie ou selecione um banco de dados para suas tabelas
-
Se você não tiver um banco de dados existente no Athena, escolha Adicionar banco de dados e, em seguida, Criar um novo banco de dados.
-
De volta à guia anterior de criação do crawler, em Configuração de saída, escolha o botão Atualizar. Agora, você deve ver o banco de dados recém-criado na lista.
-
Selecione seu banco de dados, adicione um prefixo opcional em Prefixo do nome da tabela e escolha Avançar.
nota
Referente ao exemplo anterior, em que seus dados estão localizados em
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/
, adicionar o prefixotaxi-ride-
criará uma tabela chamadataxi-ride-year_2019
. Adicionar um prefixo ajuda a evitar conflitos de nomes de tabelas quando vários locais de dados têm pastas com nomes idênticos.
-
-
Escolha Criar crawler.
-
Execute seu crawler para indexar seus dados. Aguarde até que a execução do crawler atinja um status de
Completed
, o que pode levar alguns minutos.
Para garantir que uma nova tabela tenha sido criada, vá para o menu à esquerda AWS Glue e escolha Bancos de dados e depois Tabelas. Agora você deve ver uma nova tabela contendo seus dados.
Etapa 2: conceda ao Studio as permissões para acessar o Athena
Nas etapas a seguir, você concede ao perfil de execução do seu perfil de usuário permissões para acessar o Athena.
-
Recupere o ARN do perfil de execução associado ao seu perfil de usuário
-
Acesse o console de SageMaker IA em https://console.aws.amazon.com/sagemaker/
e escolha Domínios no menu à esquerda. -
Siga o nome do seu domínio.
-
Na lista Perfis de usuário, siga o nome do seu perfil de usuário.
-
Na página Detalhes do usuário, copie o ARN do perfil de execução.
-
-
Atualize a política do seu perfil de execução
-
Encontre sua AWS região e o ID da conta no canto superior direito do console de SageMaker IA. Use esses valores e o nome do seu banco de dados para atualizar os espaços reservados na política JSON a seguir em um editor de texto.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetS3AndDataSourcesMetadata", "Effect": "Allow", "Action": [ "glue:GetDatabases", "glue:GetSchema", "glue:GetTables", "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation", "glue:GetDatabase", "glue:GetTable", "glue:ListSchemas", "glue:GetPartitions" ], "Resource": [ "arn:aws:s3:::*", "arn:aws:glue:
region
:account-id
:catalog", "arn:aws:glue:region
:account-id
:database/db-name
" ] }, { "Sid": "ExecuteAthenaQueries", "Effect": "Allow", "Action": [ "athena:ListDataCatalogs", "athena:ListDatabases", "athena:ListTableMetadata", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:RunQuery", "athena:StartSession", "athena:GetQueryResults", "athena:ListWorkGroups", "s3:ListMultipartUploadParts", "s3:ListBucket", "s3:GetBucketLocation", "athena:GetDataCatalog", "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject", "athena:GetWorkGroup" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "GetGlueConnectionsAndSecrets", "Effect": "Allow", "Action": [ "glue:GetConnections", "glue:GetConnection" ], "Resource": [ "*" ] } ] } -
Acesse o console do IAM: https://console.aws.amazon.com/iam/
e escolha Funções no menu à esquerda. -
Pesquise seu perfil pelo nome do perfil.
nota
Você pode recuperar um nome de perfil de execução a partir de nome de recurso da Amazon (ARN) dividindo o ARN em
'/'
e pegando o último elemento. Por exemplo, no exemplo a seguir de um ARNarn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole
, o nome do perfil de execução éSageMakerStudio-SQLExtension-ExecutionRole
. -
Acesse o link do seu perfil.
-
Na guia Permissões, escolha Adicionar permissões e, em seguida, Criar política em linha.
-
Escolha o formato
JSON
na seção Editor de política. -
Copie a política acima e escolha Avançar. Certifique-se de ter substituído todos os
account-id
,region-name
edb-name
por seus valores. -
Insira um nome para sua política e escolha Criar política.
-
Etapa 3: Ativar a conexão padrão do Athena no JupyterLab
Nas etapas a seguir, você habilita um default-athena-connection
em seu JupyterLab aplicativo. A conexão padrão do Athena permite executar consultas SQL no Athena diretamente do Athena JupyterLab, sem precisar criar uma conexão manualmente.
Para ativar a conexão padrão do Athena
-
Acesse o console de SageMaker IA em https://console.aws.amazon.com/sagemaker/
e escolha Studio no menu à esquerda. Usando seu domínio e perfil de usuário, execute o Studio. -
Escolha o JupyterLab aplicativo.
-
Se você não criou um espaço para seu JupyterLab aplicativo, escolha Criar um JupyterLab espaço. Insira um nome para o espaço, mantenha o espaço como Privado e escolha Criar espaço. Administre seu espaço usando a versão mais recente da imagem do SageMaker AI Distribution.
Caso contrário, escolha Executar espaço no seu espaço para iniciar um JupyterLab aplicativo.
-
Ative a conexão padrão do Athena:
-
Em seu JupyterLab aplicativo, navegue até o menu Configurações na barra de navegação superior e abra o menu Editor de configurações.
-
Escolha Data Discovery.
-
Marque a caixa Ativar conexão padrão do Athena.
-
Em seu JupyterLab aplicativo, escolha o ícone da extensão SQL (
) no painel de navegação esquerdo para abrir a extensão SQL.
-
Escolha o botão Atualizar na parte inferior do painel de descoberta de dados. Você deve ver um
default-athena-connection
na lista de conexões.
-
Etapa 4: consultar dados no Amazon S3 a partir de JupyterLab notebooks usando a extensão SQL
Você está pronto para consultar seus dados usando SQL em seus JupyterLab notebooks.
-
Abra a conexão
default-athena-connection
e depois AWS DataCatalog. -
Navegue até seu banco de dados e escolha o ícone de três pontos (
) à direita. Selecione Consultar no caderno.
Isso preenche automaticamente uma célula do notebook JupyterLab com o comando
%%sm_sql
mágico relevante para se conectar à fonte de dados. Isso também adiciona um exemplo de instrução SQL para ajudar você a começar a consultar imediatamente.nota
Certifique-se de carregar a extensão na célula superior antes de executar uma consulta SQL.
Você pode refinar ainda mais a consulta SQL usando os atributos de preenchimento automático e destaque da extensão. Consulte Recursos do editor SQL da extensão JupyterLab SQL para obter mais informações sobre como usar o editor SQL da extensão SQL.