Noções básicas sobre tabelas, bancos de dados e catálogos de dados no Athena
No Athena, os catálogos, os bancos de dados e as tabelas são contêineres para as definições de metadados que definem um esquema para os dados de origem subjacentes.
O Athena utiliza os seguintes termos para se referir às hierarquias de objetos de dados:
-
Fonte de dados: um grupo de bancos de dados
-
Banco de dados: um grupo de tabelas
-
Tabela: dados organizados como um grupo de linhas ou colunas
Às vezes, esses objetos também são chamados por nomes alternativos, mas equivalentes, como:
-
Às vezes uma fonte de dados é denominada catálogo.
-
Às vezes um banco de dados é denominado esquema.
nota
A terminologia pode variar nas fontes de dados federadas usadas com o Athena. Para ter mais informações, consulte Noções básicas de qualificadores de nomes de tabelas federadas.
O exemplo de consulta no console do Athena a seguir usa a fonte de dados awsdatacatalog
, o banco de dados default
e a tabela some_table
.
![Hierarquia dos objetos de dados no editor de consultas do Athena.](images/tables-qualifiers-1.png)
Para cada conjunto de dados, deve existir uma tabela no Athena. Os metadados na tabela informam ao Athena onde os dados estão localizados no Amazon S3 e especificam a estrutura dos dados, por exemplo, nomes de coluna, tipos de dados e o nome da tabela. Os bancos de dados são um agrupamento lógico de tabelas e também mantêm somente metadados e informações do esquema de um conjunto de dados.
Para cada conjunto de dados que você deseja consultar, o Athena deve ter uma tabela subjacente que ele usará para obter e retornar os resultados das consultas. Portanto, antes de consultar os dados, uma tabela deve ser registrada no Athena. O registro ocorre quando você cria tabelas automática ou manualmente.
É possível criar uma tabela automaticamente usando um crawler do AWS Glue. Para obter mais informações sobre AWS Glue e crawlers, consulte Usar o AWS Glue para conectar o Athena aos seus dados no Amazon S3. Quando o AWS Glue cria uma tabela, ele a registra no próprio Catálogo de dados do AWS Glue. O Athena usa o Catálogo de dados do AWS Glue para armazenar e recuperar esses metadados, usando-o quando você executa consultas para analisar o conjunto de dados subjacente.
Seja qual for o modo de criação da tabela, o processo de criação de tabelas registra o conjunto de dados no Athena. Esse registro ocorre no AWS Glue Data Catalog e permite que o Athena execute consultas nos dados. No editor de consultas do Athena, esse catálogo (ou fonte de dados) é referenciado com o rótulo AwsDataCatalog
.
Após criar uma tabela, use as instruções SQL SELECT para consultá-la e obter os locais de arquivo específicos para seus dados de origem. Os resultados das consultas são armazenados no Amazon S3 no local de resultados de consultas especificado.
O Catálogo de dados do AWS Glue fica acessível em toda a sua conta da Amazon Web Services. Outros Serviços da AWS podem compartilhar o Catálogo de dados do AWS Glue, portanto, você pode ver os bancos de dados e as tabelas criados em toda a organização usando o Athena e vice-versa.
-
Para criar uma tabela manualmente:
-
Use o console do Athena para executar o Create Table Wizard (Assistente de criação de tabela).
-
Use o console do Athena para escrever instruções DDL do Hive no editor de consultas.
-
Use a API ou a CLI do Athena para executar uma string de consulta SQL com instruções DDL.
-
Use o driver JDBC ou ODBC do Athena.
-
Quando você cria tabelas e bancos de dados manualmente, o Athena usa as instruções Data Definition Language (DDL – Linguagem de definição de dados) do HiveQL, como CREATE TABLE
, CREATE DATABASE
e DROP TABLE
em segundo plano para criar tabelas e bancos de dados no AWS Glue Data Catalog.
Para começar, use um tutorial no console do Athena ou leia um guia detalhado na documentação do Athena.
-
Para usar o tutorial no console do Athena, escolha o ícone de informações no canto superior direito do console e escolha a guia Tutorial.
-
Para ver um tutorial detalhado sobre como criar uma tabela e gravar consultas no editor de consultas do Athena, consulte Conceitos básicos.