Trabalhar com tabelas do Apache Iceberg usando o SQL do Amazon Athena - AWS Orientação prescritiva

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

Trabalhar com tabelas do Apache Iceberg usando o SQL do Amazon Athena

O Amazon Athena fornece suporte integrado para o Apache Iceberg e não exige etapas ou configurações adicionais. Esta seção fornece uma visão geral detalhada dos recursos suportados e orientações de alto nível sobre o uso do Athena para interagir com as tabelas Iceberg.

Compatibilidade de versões e recursos

Suporte à especificação da tabela Iceberg

A especificação da tabela Apache Iceberg especifica como as tabelas Iceberg devem se comportar. O Athena oferece suporte ao formato de tabela versão 2, portanto, qualquer tabela Iceberg que você criar com o console, a CLI ou o SDK usa essa versão inerentemente.

Se você usa uma tabela Iceberg criada com outro mecanismo, como o Apache Spark no Amazon EMR ou AWS Glue, certifique-se de definir a versão do formato da tabela usando as propriedades da tabela. Como referência, consulte a seção Criando e escrevendo tabelas Iceberg anteriormente neste guia.

Suporte ao recurso Iceberg

Você pode usar o Athena para ler e gravar em tabelas Iceberg. Quando você altera os dados usando as DELETE FROM instruçõesUPDATE, eMERGE INTO, o Athena suporta somente o merge-on-read modo. Essa propriedade não pode ser alterada. Para atualizar ou excluir dados com copy-on-write, você precisa usar outros mecanismos, como o Apache Spark no Amazon EMR ou. AWS Glue A tabela a seguir resume o suporte aos recursos do Iceberg no Athena.

Suporte DDL Suporte a DML AWS Lake Formation para segurança (opcional)
Formato da tabela Create table Evolução do esquema Leitura de dados Gravação de dados Controle de acesso de linha/coluna
Amazon Athena Versão 2 XC opy-on-write
✓ M erge-on-read
nota
  • O Athena não oferece suporte a consultas incrementais.

  • No Athena, as operações de atualização, exclusão e mesclagem sempre usam como padrão a mesclagem na leitura (MoR), independentemente de qualquer configuração de cópia na gravação (CoW) nas propriedades da tabela, porque o CoW não é suportado.

Trabalhando com mesas Iceberg

Para começar rapidamente a usar o Iceberg no Athena, consulte a seção Introdução às tabelas do Iceberg no Athena SQL, anteriormente neste guia.

A tabela a seguir lista as limitações e recomendações.

Cenário

Limitação

Recomendação

Tabela de geração de DDL

As tabelas de iceberg criadas com outros mecanismos podem ter propriedades que não estão expostas no Athena. Para essas tabelas, não é possível gerar o DDL.

Use a instrução equivalente no mecanismo que criou a tabela (por exemplo, a SHOW CREATE TABLE instrução do Spark).

Prefixos aleatórios do Amazon S3 em objetos que são gravados em uma tabela Iceberg

Por padrão, as tabelas do Iceberg criadas com o Athena têm write.object-storage.enabled a propriedade ativada.

Para desativar esse comportamento e obter controle total sobre as propriedades da tabela Iceberg, crie uma tabela Iceberg com outro mecanismo, como o Spark no Amazon EMR ou. AWS Glue

Consultas incrementais

Atualmente, não há suporte no Athena.

Para usar consultas incrementais para permitir pipelines incrementais de ingestão de dados, use o Spark no Amazon EMR ou. AWS Glue