Consultar tabelas do Amazon S3 com o Amazon Athena - Amazon Simple Storage Service

Consultar tabelas do Amazon S3 com o Amazon Athena

O Amazon Athena é um serviço de consultas interativas que você pode usar para analisar dados no Amazon S3 usando SQL padrão. Para obter mais informações, consulte O que é o Amazon Athena? no Guia do usuário do Amazon Athena.

Depois que os buckets de tabela são integrados aos serviços de analytics da AWS, é possível executar consultas Data Definition Language (DDL), Data Manipulation Language (DML) e Data Query Language (DQL) em tabelas do S3 usando o Athena. Consulte mais informações sobre como consultar tabelas em um bucket de tabela em Registrar catálogos de buckets de tabela do S3 no Guia do usuário do Amazon Athena.

Também é possível executar consultas no Athena pelo console do Amazon S3.

Importante

Ao criar tabelas, use apenas letras minúsculas nos nomes e nas definições das tabelas. Por exemplo, os nomes das colunas devem estar todos em minúsculas. Se o nome da tabela ou a definição da tabela contiver letras maiúsculas, a tabela não será compatível com o AWS Lake Formation ou o AWS Glue Data Catalog. Nesse caso, a tabela não estará visível para serviços de analytics da AWS, como o Amazon Athena, mesmo que os buckets de tabela estejam integrados aos serviços de analytics da AWS.

Se a definição da tabela contiver letras maiúsculas, você receberá a seguinte mensagem de erro ao executar uma consulta SELECT no Athena: “GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names”.

O procedimento a seguir usa o console do Amazon S3 para acessar o editor de consultas do Athena e possibilitar que você consulte uma tabela com o Amazon Athena.

nota

Antes de realizar as etapas a seguir, integre os buckets de tabela aos serviços de analytics da AWS nessa região. Para obter mais informações, consulte Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS.

Como consultar uma tabela
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets de tabela.

  3. Na página Buckets de tabela, escolha o bucket que contém a tabela que você deseja consultar.

  4. Na página de detalhes do bucket, escolha o botão de opção ao lado do nome da tabela que você deseja consultar.

  5. Escolha Consultar tabela com o Athena.

  6. O console do Amazon Athena é aberto e o editor de consultas do Athena aparece com uma amostra de consulta SELECT carregada para você. Modifique essa consulta conforme necessário para seu caso de uso.

    No editor de consultas, o campo Catálogo deve ser preenchido com s3tablescatalog/ seguido do nome do bucket de tabela; por exemplo, s3tablescatalog/amzn-s3-demo-bucket. O campo Banco de dados deve ser preenchido com o namespace em que a tabela está armazenada.

    nota

    Caso não veja esses valores nos campos Catálogo e Banco de dados, verifique se você integrou os buckets de tabela aos serviços de analytics da AWS nessa região. Para obter mais informações, consulte Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS.

  7. Para executar a consulta, escolha Run (Executar).

    nota
    • Se você receber o erro “Insufficient permissions to execute the query. Principal does not have any privilege on specified resource” ao tentar executar uma consulta no Athena, você deverá receber as permissões necessárias do Lake Formation na tabela. Para obter mais informações, consulte Conceder permissão ao Lake Formation em uma tabela ou um banco de dados.

    • Se você receber o erro “Iceberg cannot access the requested resource” ao tentar executar a consulta, acesse o console do AWS Lake Formation e verifique se você se autoconcedeu permissões no catálogo do bucket de tabela e no banco de dados (namespace) que criou. Não especifique uma tabela ao conceder essas permissões. Para obter mais informações, consulte Conceder permissão ao Lake Formation em uma tabela ou um banco de dados.

    • Se você receber a seguinte mensagem de erro ao executar uma consulta SELECT no Athena, isso significa que o nome da tabela ou os nomes de coluna na definição da tabela contêm letras maiúsculas: “GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names”. Os nomes de tabela e de coluna devem estar todos em minúsculas.