

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: consultar dados no Amazon S3
<a name="studio-sqlexplorer-athena-s3-quickstart"></a>

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](gs-set-up.md).
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, consulte[Use a configuração rápida para Amazon SageMaker AI](onboard-quick-start.md).
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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), na documentação do Amazon S3. Você configurará o bucket e a pasta para serem o local de saída da consulta.

**Topics**
+ [Etapa 1: configurar uma fonte de dados do Athena e AWS Glue rastreador para seus dados do Amazon S3](#studio-sqlexplorer-athena-s3-quickstart-setup)
+ [Etapa 2: conceda ao Studio as permissões para acessar o Athena](#studio-sqlexplorer-athena-s3-quickstart-permissions)
+ [Etapa 3: Ativar a conexão padrão do Athena no JupyterLab](#studio-sqlexplorer-athena-s3-quickstart-connect)
+ [Etapa 4: consultar dados no Amazon S3 a partir de JupyterLab notebooks usando a extensão SQL](#studio-sqlexplorer-athena-s3-quickstart-query)

## Etapa 1: configurar uma fonte de dados do Athena e AWS Glue rastreador para seus dados do Amazon S3
<a name="studio-sqlexplorer-athena-s3-quickstart-setup"></a>

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.

1. Configure um local para resultados de consultas

   1. Vá para o console Athena:. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)

   1. No menu à esquerda, escolha **Grupos de trabalho**.

   1. Acesse o link do grupo de trabalho `primary` e escolha **Editar**.

   1. 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**.

1. Crie uma fonte de dados do Athena para os dados do Amazon S3

   1. No menu à esquerda no console do Athena, escolha **Fontes de dados** e, em seguida, **Criar fonte de dados**. 

   1. Escolha **S3 - Catálogo de AWS Glue dados** e, em seguida, **Avançar**. 

   1. 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. 

1. Use AWS Glue para rastrear sua fonte de dados

   1. Insira um nome e uma descrição para seu novo crawler e, depois, selecione **Próximo**. 

   1. Em **Fontes de dados**, escolha **Adicionar uma fonte de dados**.

      1. 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**.

      1. 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/
         ```

      1. 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.

      1. Escolha **Próximo**.

       

   1. 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.

      1. Escolha **Criar novo perfil do IAM**.

      1. Insira um nome para o perfil e escolha **Avançar**.

1. Crie ou selecione um banco de dados para suas tabelas

   1. 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**.

   1. 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.

   1. 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 prefixo `taxi-ride-` criará uma tabela chamada `taxi-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.

1. Escolha **Criar crawler**.

1. 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
<a name="studio-sqlexplorer-athena-s3-quickstart-permissions"></a>

Nas etapas a seguir, você concede ao perfil de execução do seu perfil de usuário permissões para acessar o Athena.

1. Recupere o ARN do perfil de execução associado ao seu perfil de usuário

   1. Acesse o console de SageMaker IA em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e escolha **Domínios** no menu à esquerda.

   1. Siga o nome do seu domínio.

   1. Na lista **Perfis de usuário**, siga o nome do seu perfil de usuário.

   1. Na página **Detalhes do usuário**, copie o ARN do perfil de execução.

1. Atualize a política do seu perfil de execução

   1. 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.

------
#### [ JSON ]

****  

      ```
      {
          "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:{{us-east-1}}:{{111122223333}}:catalog",
                      "arn:aws:glue:{{us-east-1}}:{{111122223333}}: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": [
                      "*"
                  ]
              }
          ]
      }
      ```

------

   1. Acesse o console do IAM: [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)e escolha **Funções** no menu à esquerda.

   1. 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 ARN `arn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole`, o nome do perfil de execução é `SageMakerStudio-SQLExtension-ExecutionRole`.

   1. Acesse o link do seu perfil.

   1. Na guia **Permissões**, escolha **Adicionar permissões** e, em seguida, **Criar política em linha**.

   1. Escolha o formato `JSON` na seção **Editor de política**.

   1. Copie a política acima e escolha **Avançar**. Certifique-se de ter substituído todos os `account-id`, `region-name` e `db-name` por seus valores.

   1. Insira um nome para sua política e escolha **Criar política**.

## Etapa 3: Ativar a conexão padrão do Athena no JupyterLab
<a name="studio-sqlexplorer-athena-s3-quickstart-connect"></a>

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

1. Acesse o console de SageMaker IA em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e escolha **Studio** no menu à esquerda. Usando seu domínio e perfil de usuário, execute o Studio.

1. Escolha o JupyterLab aplicativo. 

1. 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.

1. Ative a conexão padrão do Athena:

   1. Em seu JupyterLab aplicativo, navegue até o menu **Configurações** na barra de navegação superior e abra o menu **Editor de configurações**.

   1. Escolha **Data Discovery**.

   1. Marque a caixa **Ativar conexão padrão do Athena**.

   1. Em seu JupyterLab aplicativo, escolha o ícone da extensão SQL (![SQL Explorer icon.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-icon.png)) no painel de navegação esquerdo para abrir a extensão SQL.

   1.  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
<a name="studio-sqlexplorer-athena-s3-quickstart-query"></a>

Você está pronto para consultar seus dados usando SQL em seus JupyterLab notebooks.

1. Abra a conexão `default-athena-connection` e depois **AWS DataCatalog**.

1. Navegue até seu banco de dados e escolha o ícone de três pontos (![SQL extension three dots icon.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-3dots-icon.png)) à 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](sagemaker-sql-extension-features-editor.md) para obter mais informações sobre como usar o editor SQL da extensão SQL.