Consultar dados de tabelas do Iceberg - Amazon Athena

Consultar dados de tabelas do Iceberg

Para consultar um conjunto de dados Iceberg, use a instrução SELECT padrão, como a que se segue. As consultas atendem à especificação de formato v2 do Apache Iceberg e realizam a mesclagem na leitura das exclusões de posição e igualdade.

SELECT * FROM [db_name.]table_name [WHERE predicate]

Para otimizar os tempos de consulta, todos os predicados são enviados para onde os dados residem.

Para obter informações sobre consultas de viagem no tempo e viagem nas versões, consulte Executar consultas de viagem no tempo e viagem nas versões.

Criar e consultar visualizações com tabelas do Iceberg

Para criar e consultar visualizações do Athena em tabelas do Iceberg, use visualizações CREATE VIEW conforme descrito em Trabalhar com visualizações.

Exemplo:

CREATE VIEW view1 AS SELECT * FROM iceberg_table
SELECT * FROM view1

Se você tiver interesse em usar a especificação de visualização do Iceberg para criar visualizações, entre em contato com athena-feedback@amazon.com.

Consultar metadados de tabelas do Iceberg

Em uma consulta SELECT, é possível usar as seguintes propriedades após table_name para consultar metadados de tabela do Iceberg:

  • $files: mostra os arquivos de dados atuais de uma tabela.

  • $manifests: mostra os manifestos do arquivo atual de uma tabela.

  • $history: mostra o histórico de uma tabela.

  • $partitions: mostra as partições atuais de uma tabela.

  • $snapshots: mostra os snapshots de uma tabela.

  • $refs: mostra as referências de uma tabela.

Exemplos

A instrução a seguir lista os arquivos de uma tabela do Iceberg.

SELECT * FROM "dbname"."tablename$files"

A instrução a seguir lista os manifestos de uma tabela do Iceberg.

SELECT * FROM "dbname"."tablename$manifests"

A instrução a seguir mostra o histórico de uma tabela do Iceberg.

SELECT * FROM "dbname"."tablename$history"

O exemplo a seguir mostra as partições de uma tabela do Iceberg.

SELECT * FROM "dbname"."tablename$partitions"

O exemplo a seguir lista os snapshots de uma tabela do Iceberg.

SELECT * FROM "dbname"."tablename$snapshots"

O exemplo a seguir mostra as referências de uma tabela do Iceberg.

SELECT * FROM "dbname"."tablename$refs"

Usar o controle de acesso detalhado do Lake Formation

A versão 3 do mecanismo do Athena é compatível com o controle de acesso detalhado do Lake Formation com tabelas do Iceberg, incluindo o controle de acesso de segurança em nível de coluna e de linha. Esse controle de acesso funciona com consultas de passagem de tempo e com tabelas que realizaram a evolução do esquema. Para ter mais informações, consulte Controle de acesso detalhado do Lake Formation e grupos de trabalho do Athena.

Se a criação da sua tabela do Iceberg ocorreu exterior ao Athena, use o SDK do Apache Iceberg, versão 0.13.0 ou superior, para que as informações da coluna da tabela do Iceberg sejam preenchidas no AWS Glue Data Catalog. Se a tabela do Iceberg não contiver informações de coluna no AWS Glue, você poderá usar a instrução ALTER TABLE SET PROPERTIES do Athena ou o SDK do Iceberg mais recente para corrigir a tabela e atualizar as informações da coluna no AWS Glue.