Usar tabelas do Apache Iceberg
O Athena oferece suporte a consultas de leitura, viagem no tempo, gravação e DDL para tabelas Apache Iceberg que usam o formato Apache Parquet para dados e o catálogo do AWS Glue para metastore.
Apache Iceberg
Para obter mais informações sobre o Apache Iceberg, consulte https://iceberg.apache.org/
Considerações e limitações
O suporte do Athena para tabelas Iceberg tem as seguintes considerações e limitações:
-
Suporte à versão Iceberg — O Athena é compatível com o Apache Iceberg versão 1.4.2.
-
Tabelas somente com catálogo do AWS Glue: apenas tabelas Iceberg criadas com base no catálogo do AWS Glue de acordo com as especificações definidas pela implementação de código aberto do catálogo do Glue
são compatíveis com o Athena. -
Suporte de bloqueio de tabela apenas pelo AWS Glue: ao contrário da implementação de código aberto do catálogo do Glue, que oferece suporte ao bloqueio personalizado de plug-in, o Athena oferece suporte apenas ao bloqueio otimista do AWS Glue. Usar o Athena para modificar uma tabela do Iceberg com qualquer outra implementação de bloqueio causará perda de dados e quebra de transações.
-
Formatos de arquivo compatíveis: a compatibilidade do formato de arquivo do Iceberg no Athena depende da versão do mecanismo do Athena, conforme mostrado na tabela a seguir.
Versão do mecanismo do Athena Parquet ORC Avro 2 Sim Não Não 3 Sim Sim Sim -
Tabelas Iceberg v2: o Athena só cria e opera tabelas Iceberg v2. Para saber a diferença entre as tabelas da v1 e v2, consulte Alterações de versão do formato
na documentação do Apache Iceberg. -
Exibição de tipos de hora sem fuso horário: a hora e o carimbo de data/hora sem tipos de fuso horário são exibidos no UTC. Se o fuso horário não for especificado em uma expressão de filtro em uma coluna de hora, o UTC será usado.
-
Precisão dos dados relacionados ao carimbo de data e hora: embora o Iceberg seja compatível com uma precisão de microssegundos para o tipo de dados de carimbo de data e hora, o Athena é compatível apenas com a precisão de milissegundos para carimbos de data e hora em leituras e gravações. Para dados em colunas relacionadas a horas gravadas durante operações de compactação manual, o Athena retém somente uma precisão de milissegundos.
-
Operações sem suporte: as seguintes operações do Athena não são compatíveis com tabelas Iceberg.
-
Visualizações: use
CREATE VIEW
para criar visualizações do Athena, conforme descrito em Trabalhar com visualizações. Se você tiver interesse em usar a especificação de visualização do Icebergpara criar visualizações, entre em contato com athena-feedback@amazon.com . -
Comandos de gerenciamento de TTF não compatíveis com o AWS Lake Formation: embora seja possível usar o Lake Formation para gerenciar permissões de acesso de leitura para TransactionTable Formats (TTFs), como Apache Iceberg, Apache Hudi e Linux Foundation Delta Lake, não é possível usar o Lake Formation para gerenciar permissões para operações como
VACUUM
,MERGE
,UPDATE
ouOPTIMIZE
com esses formatos de tabela. Para obter mais informações sobre a integração do Lake Formation com o Athena, consulte Usar o AWS Lake Formation com o Amazon Athena no Guia do desenvolvedor do AWS Lake Formation. -
Particionar por campos aninhados - A partição por campos aninhados não é suportada. A tentativa de fazer isso produz a mensagem
NÃO SUPORTADO:
particionar por campo aninhado não é suportado: column_name.nested_field_name
. -
Não é possível ignorar objetos do S3 Glacier: se os objetos na tabela do Apache Iceberg estiverem em uma classe de armazenamento do Amazon S3 Glacier, definir a propriedade da tabela
read_restored_glacier_objects
comofalse
não terá efeito.Por exemplo, suponhamos que você emita o seguinte comando:
ALTER TABLE
table_name
SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')Para tabelas do Iceberg e do Delta Lake, o comando gera o erro
Chave de propriedade da tabela não compatível:
read_restored_glacier_objects. Para tabelas do Hudi, o comandoALTER TABLE
não gera um erro, mas os objetos do Amazon S3 Glacier ainda assim não são ignorados. A execução de consultasSELECT
após o comandoALTER TABLE
continua a retornar todos os objetos.
Se quiser que o Athena ofereça suporte a recurso específico, envie comentários para athena-feedback@amazon.com
Tópicos
- Criar tabelas Iceberg
- Gerenciar tabelas Iceberg
- Consultar metadados de tabela do Iceberg
- Esquema de tabela Iceberg em evolução
- Consultar dados em tabelas Iceberg e realizar viagens no tempo
- Atualizar dados nas tabelas Iceberg
- Otimizar tabelas Iceberg
- Tipos de dados suportados para tabelas Iceberg no Athena
- Outras operações do Athena em tabelas Iceberg
- Recursos adicionais