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á.
Início rápido: consulte dados no Amazon S3
Os usuários podem analisar dados armazenados no Amazon S3 executando SQL consultas em 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 usando a JupyterLab 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 adequadas 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 SQL extensão 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 AWS conta e criar um usuário com acesso administrativo, consulte SageMaker Pré-requisitos completos da Amazon.
-
Tenha um SageMaker domínio e um perfil de usuário para acessar o SageMaker Studio. Para obter informações sobre como configurar um SageMaker ambiente, consulteUse a configuração rápida para a Amazon SageMaker.
-
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. SageMaker Para obter informações sobre como criar um bucket no Amazon S3, consulte Criação de um bucket na documentação do Amazon S3. Você configurará esse bucket e essa pasta para serem o local de saída da consulta.
Para acessar e consultar seus dados no Amazon S3:
- Etapa 1: configurar uma fonte de dados e um AWS Glue rastreador Athena para seus dados do Amazon S3
- Etapa 2: conceder ao Studio as permissões para acessar o Athena
- Etapa 3: Ativar a conexão padrão do Athena no JupyterLab
- Etapa 4: consultar dados no Amazon S3 a partir de JupyterLab notebooks usando a extensão SQL
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 colisões entre nomes de tabelas de diferentes locais do Amazon S3, crie uma fonte de dados e um rastreador 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.
-
Configurar um local do resultado da consulta
-
Vá para o console Athena:. https://console.aws.amazon.com/athena/
-
No menu à esquerda, escolha Grupos de trabalho.
-
Siga o link do
primary
grupo de trabalho 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 Athena para seus 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.
-
Deixe o Catálogo de AWS Glue Dados padrão nessa conta, escolha Criar um rastreador em AWS Glue e, em seguida, Criar em. 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 rastreador e escolha Avançar.
-
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 SageMaker ambiente, escolha Em uma conta diferente para a localização dos dados do S3.
-
Insira o caminho para seu 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 a IAM função do rastreador para acessar seus dados.
nota
Cada função tem o escopo reduzido à fonte de dados que você especifica. Ao reutilizar uma função, edite a JSON política para adicionar qualquer novo recurso ao qual você queira conceder acesso ou criar uma nova função para essa fonte de dados.
-
Escolha Criar nova IAM função.
-
Insira um nome para a função 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 de criação anterior do rastreador, em Configuração de saída, escolha o botão Atualizar. Agora você deve ver seu 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
Para o exemplo anterior em que seus dados estão localizados
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 colisões de nomes de tabelas quando vários locais de dados têm pastas com nomes idênticos.
-
-
Escolha Criar rastreador.
-
Execute seu rastreador para indexar seus dados. Aguarde até que a execução do rastreador atinja um
Completed
status, 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: conceder ao Studio as permissões para acessar o Athena
Nas etapas a seguir, você concede à função de execução do seu perfil de usuário permissões para acessar o Athena.
-
Recupere a função ARN de execução associada ao seu perfil de usuário
-
Acesse o SageMaker console em https://console.aws.amazon.com/sagemaker/
e escolha Domínios no menu à esquerda. -
Siga o nome do seu nome de 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 a função ARN de execução.
-
-
Atualize a política da sua função de execução
-
Encontre sua AWS região e ID da conta no canto superior direito do SageMaker console. Use esses valores e o nome do seu banco de dados para atualizar os espaços reservados na JSON política 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": [ "*" ] } ] } -
Vá para o IAM console: https://console.aws.amazon.com/iam/
e escolha Funções no menu à esquerda. -
Pesquise sua função pelo nome da função.
nota
Você pode recuperar um nome de função de execução de seu Amazon Resource Name (ARN) dividindo o ARN on
'/'
e pegando o último elemento. Por exemplo, no exemplo a seguir de um ARNarn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole
, o nome da função de execução éSageMakerStudio-SQLExtension-ExecutionRole
. -
Siga o link para sua função.
-
Na guia Permissões, escolha Adicionar permissões e, em seguida, Criar política em linha.
-
Escolha o
JSON
formato na seção Editor de políticas. -
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 SQL consultas no Athena diretamente do Athena JupyterLab, sem precisar criar uma conexão manualmente.
Para ativar a conexão padrão do Athena
-
Vá para o SageMaker console em https://console.aws.amazon.com/sagemaker/
e escolha Studio no menu à esquerda. Usando seu domínio e perfil de usuário, inicie 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 SageMaker de distribuição.
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 SQL extensão ( ) no painel de navegação esquerdo para abrir a SQL extensão.
-
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 seus JupyterLab cadernos.
-
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 notebook.
Isso preenche automaticamente uma célula do notebook JupyterLab com o comando
%%sm_sql
mágico relevante para se conectar à fonte de dados. Ele também adiciona um exemplo de SQL declaração 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 SQL consulta.
Você pode refinar ainda mais a SQL consulta usando os recursos de preenchimento automático e destaque da extensão. Consulte SQLrecursos de edição da JupyterLab SQL extensão para obter mais informações sobre como usar o SQL editor SQL de extensões.