O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a publicação de blog
Uso de tabelas do Apache Iceberg com o Amazon Redshift
nota
Para obter o melhor desempenho ao usar tabelas do Apache Iceberg com o Amazon Redshift, você deve gerar estatísticas de colunas para as tabelas que estão usando o AWS Glue. Para ter mais informações, consulte Gerar estatísticas de colunas para tabelas Iceberg no Guia do desenvolvedor do AWS Glue.
Este tópico descreve como utilizar tabelas no formato Apache Iceberg com o Amazon Redshift. Apache Iceberg é um formato de tabela de código aberto de alto desempenho para data lakes. Para obter mais informações, consulte Apache Iceberg
É possível consultar tabelas do Apache Iceberg catalogadas no AWS Glue Data Catalog com o Amazon Redshift. Os tipos de instância RG e o Redshift sem servidor usam a própria computação para processar consultas de data lake, enquanto os tipos de instância RA3 usam o Redshift Spectrum. Para obter mais informações, consulte Consulta do data lake.
O Amazon Redshift fornece consistência transacional para consultar tabelas do Apache Iceberg. É possível manipular os dados nas tabelas usando serviços compatíveis com ACID (atomicidade, consistência, isolamento, durabilidade), como Amazon Athena e Amazon EMR, enquanto executa consultas usando o Amazon Redshift. O Amazon Redshift pode usar as estatísticas da tabela armazenadas nos metadados do Apache Iceberg para otimizar os planos de consulta e reduzir a verificação de arquivos durante o processamento da consulta. Com o Amazon Redshift SQL, é possível unir tabelas do Redshift com tabelas de data lake.
Como começar a usar tabelas do Iceberg com o Amazon Redshift:
Crie uma tabela do Apache Iceberg em um banco de dados do AWS Glue Data Catalog usando um serviço compatível, como Amazon Athena ou Amazon EMR. Para criar uma tabela do Iceberg usando o Athena, consulte Usar tabelas do Apache Iceberg no Guia do usuário do Amazon Athena.
Crie um cluster do Amazon Redshift ou um grupo de trabalho do Redshift sem servidor com um perfil do IAM associado que permita o acesso ao data lake. Consulte informações sobre como criar clusters ou grupos de trabalho em Clusters provisionados do Amazon Redshift e em Criar um data warehouse com o Amazon Redshift sem servidor no Guia de conceitos básicos do Amazon Redshift.
Conecte-se ao cluster ou grupo de trabalho usando o editor de consultas v2 ou um cliente SQL de terceiros. Para ter informações sobre como se conectar usando o Editor de Consultas v2, consulte Conectar-se a um data warehouse do Amazon Redshift usando ferramentas de cliente SQL no Guia de gerenciamento do Amazon Redshift.
Crie um esquema externo no banco de dados do Amazon Redshift para um banco de dados específico do Catálogo de Dados que inclui as tabelas do Iceberg. Para obter mais informações sobre como criar um esquema externo, consulte Esquemas externos no Amazon Redshift Spectrum.
Execute consultas SQL para acessar as tabelas do Iceberg no esquema externo que você criou.
Considerações ao usar tabelas do Apache Iceberg com o Amazon Redshift
Considere o seguinte ao usar o Amazon Redshift com tabelas do Iceberg:
-
Suporte à versão do Iceberg: o Amazon Redshift é compatível com a execução de consultas nas seguintes versões das tabelas do Iceberg:
-
A versão 1, que define como tabelas analíticas grandes são gerenciadas usando arquivos de dados imutáveis.
-
A versão 2 adiciona a capacidade de dar suporte a atualizações e exclusões no nível da linha, ao mesmo tempo em que mantém os arquivos de dados existentes inalterados e processa alterações de dados da tabela usando arquivos de exclusão.
Para saber a diferença entre as tabelas da versão 1 e da versão 2, consulte Format version changes
na documentação do Apache Iceberg. -
-
Adicionar partições: você não precisa adicionar partições manualmente a tabelas do Apache Iceberg. Novas partições nas tabelas do Apache Iceberg são detectadas automaticamente pelo Amazon Redshift e nenhuma operação manual é necessária para atualizar as partições na definição da tabela. As alterações na especificação da partição também são aplicadas automaticamente às consultas sem nenhuma intervenção do usuário.
-
Ingestão de dados do Iceberg no Amazon Redshift: é possível usar os comandos INSERT INTO ou CREATE TABLE AS para importar dados da tabela do Iceberg para uma tabela local do Amazon Redshift. No momento, é possível usar o comando COPY para ingerir o conteúdo de uma tabela do Apache Iceberg em uma tabela local do Amazon Redshift.
-
Visões materializadas: você pode criar visões materializadas em tabelas do Apache Iceberg como qualquer outra tabela externa no Amazon Redshift. As mesmas considerações para outros formatos de tabela de data lake se aplicam às tabelas do Apache Iceberg. No momento, não é possível usar regravação automática de consultas e visões materializadas automáticas em tabelas de data lake.
-
Controle de acesso detalhado do AWS Lake Formation: o Amazon Redshift permite um controle de acesso detalhado do AWS Lake Formation em tabelas do Apache Iceberg.
-
Parâmetros de tratamento de dados definidos pelo usuário: o Amazon Redshift permite parâmetros de tratamento de dados definidos pelo usuário nas tabelas do Apache Iceberg. Você usa parâmetros de tratamento de dados definidos pelo usuário em arquivos existentes para personalizar os dados que estão sendo consultados em tabelas externas e evitar erros de verificação. Esses parâmetros fornecem recursos para lidar com incompatibilidades entre o esquema da tabela e os dados reais nos arquivos. Você também pode usar parâmetros de tratamento de dados definidos pelo usuário nas tabelas do Apache Iceberg.
-
Perguntas sobre viagens no tempo: no momento, as consultas de viagem no tempo não são compatível com tabelas do Apache Iceberg.
-
Preços: quando você acessa as tabelas do Iceberg de um cluster RG ou de um grupo de trabalho do Redshift sem servidor, as consultas do data lake são executadas nos recursos computacionais do próprio cluster ou grupo de trabalho, portanto, não há cobrança separada pelas consultas ao data lake. Ao acessar tabelas do Iceberg por meio de um cluster DC2 ou RA3, você recebe a cobrança segundo os preços do Redshift Spectrum. Para obter informações sobre preços, consulte Preços do Amazon Redshift
. -
Armazenamento em cache de metadados: esse armazenamento pressupõe que os arquivos de metadados são imutáveis com base na especificação do Iceberg
. A imutabilidade do arquivo de metadados é um requisito para a integridade dos dados no Amazon Redshift. -
Identidade federada: a identidade federada não é aceita ao gravar em tabelas do Apache Iceberg. Isso inclui o uso da palavra-chave SESSION para o parâmetro IAM_ROLE ao criar esquemas externos. Para acessar mais informações sobre os parâmetros IAM_ROLE, consulte CREATE EXTERNAL SCHEMA.