Uso de tabelas do Apache Iceberg com o Amazon Redshift
Este tópico descreve como utilizar tabelas no formato Apache Iceberg com o Redshift Spectrum ou o Redshift sem servidor. O Apache Iceberg é um formato de alta performance para grandes tabelas analíticas.
É possível usar o Redshift Spectrum ou o Redshift sem servidor para consultar tabelas do Apache Iceberg catalogadas no AWS Glue Data Catalog. O Apache Iceberg é um formato de tabela de código aberto para data lakes. Para obter mais informações, consulte Apache Iceberg
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. -
Somente consultas: o Amazon Redshift permite o acesso somente leitura a tabelas do Apache Iceberg. Ele permite consultas de seleção transacionais consistentes. É possível usar um serviço como o Amazon Athena para definir e atualizar o esquema das tabelas do Iceberg no AWS Glue Data Catalog.
-
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 é permitido fazer atualizações incrementais, atualizações automáticas, regravação automática de consultas e MVs 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: ao acessar tabelas do Iceberg por meio de um cluster, você recebe a cobrança segundo os preços do Redshift Spectrum. Ao acessar as tabelas do Iceberg por meio de um grupo de trabalho, você recebe a cobrança segundo os preços do Redshift com tecnologia sem servidor. Para obter informações sobre o preço do Redshift Spectrum e do Redshift sem servidor, consulte Preço do Amazon Redshift
.