Todos os produtos
Search
Central de documentação

E-MapReduce:Iceberg

Última atualização: Aug 14, 2026

O Iceberg é um formato aberto de tabela para data lake que permite armazenamento em HDFS ou Alibaba Cloud OSS e análise por meio de Spark, Flink, Hive e Presto.

Capacidades principais

O Apache Iceberg surgiu como solução para migrar data warehouses Hive para a nuvem e tornou-se o formato de tabela padrão para serviços de data lake baseados em nuvem. Para obter detalhes, visite o site oficial do Apache Iceberg.

O Iceberg oferece as seguintes capacidades:

  • Armazenamento de data lake de baixo custo em HDFS ou Object Storage Service (OSS).

  • Integração nativa com mecanismos de computação open source para ingestão e análise.

  • Semântica ACID completa.

  • Alterações de dados no nível de linha.

  • Reversão para versões históricas.

  • Filtragem eficiente de dados.

  • Evolução de schema.

  • Evolução do layout de partição.

  • Particionamento oculto.

A tabela a seguir compara três arquiteturas: ClickHouse open source (data warehouse em tempo real), Hive open source (data warehouse offline) e Alibaba Cloud Iceberg (data lake).

Critérios de comparação

Subitem

Data warehouse em tempo real ClickHouse open source

Data warehouse offline Hive open source

Data lake Alibaba Cloud Iceberg

Arquitetura do sistema

Arquitetura

Computação e armazenamento acoplados

Computação e armazenamento desacoplados

Computação e armazenamento desacoplados

Suporte a múltiplos mecanismos de computação

Não compatível

Compatível

Compatível

Armazenamento de dados em object storage

Não compatível

Parcialmente compatível

Compatível

Armazenamento de dados em HDFS

Não compatível

Compatível

Compatível

Abertura do formato de armazenamento

Desativado

Aberto

Aberto

Valor de negócio

Tempestividade

Segundos

Horas/Dias

Minutos

Flexibilidade de computação

Baixa

Alta

Alta

Transacionalidade

Não compatível

Incompleto

Compatível

Universalidade da semântica no nível de tabela

Fraca

Fraca

Excelente

Alterações de dados no nível de linha

Não compatível

Suporte limitado

Compatível

Qualidade dos dados

Muito alta

Alta

Alta

Custo de manutenção

Desempenho de consulta

Alto

Alto

Alto

Custo de armazenamento

Muito alto

Médio

Baixo

Self-service

Não compatível

Não compatível

Compatível

Elasticidade de recursos

Regular

Regular

Excelente

Comparação com o Iceberg open source

A tabela a seguir compara o Alibaba Cloud Iceberg com o Iceberg open source quanto a recursos básicos, alterações de dados e mecanismos de computação.

Nota

√ indica que o recurso é compatível. x indica que o recurso ainda não é compatível.

Categoria

Item

Subitem

Iceberg open source

Edição Comercial do Iceberg (Alibaba Cloud)

Recursos básicos

ACID

N/A

√

√

Reversão para versões históricas

N/A

√

√

Integração de source e Sink

Batch

√

√

Streaming

√

√

Filtragem eficiente de dados

N/A

√

√

Alterações de dados

Evolução de schema

N/A

√

√

Evolução de partição

N/A

√

√

Atualizações copy-on-write

N/A

√

√

Atualizações merge-on-read

Leitura

√

√

Escrita

√

√

Compactação

x

x

Mecanismos de computação

Apache Spark

Leitura

√

√

Escrita

√

√

Apache Hive

Leitura

√

√

Escrita

√

√

Apache Flink

Leitura

√

√

Escrita

√

√

PrestoDB ou Trino

Leitura

√

√

Escrita

√

√

Linguagens de programação

Java

N/A

√

√

Python

N/A

√

√

Recursos avançados

Integração nativa com Alibaba Cloud OSS

N/A

x

√

Integração nativa com Alibaba Cloud DLF

N/A

x

√

Aceleração de cache de dados locais

N/A

x

√

Compactação automática de arquivos pequenos

N/A

x

√

Nota

Esta comparação foi elaborada em setembro de 2021 com base em uma análise do Iceberg open source e da edição comercial do Iceberg disponíveis naquela data. A compatibilidade com recursos pode mudar em futuras atualizações de versão.

Cenários

O Iceberg é um componente central em soluções de data lake, adequado para os seguintes cenários.

Cenário

Descrição

Importação e consulta de dados em tempo real

Fluxos de dados upstream entram no data lake Iceberg em tempo real e ficam imediatamente disponíveis para consulta. Por exemplo, em um cenário de logs, inicie um job de streaming do Iceberg ou do Spark para gravar logs em uma tabela Iceberg. Em seguida, consulte os dados com Hive, Spark, Iceberg ou Presto. O suporte a ACID garante isolamento entre ingestão e consultas, evitando leituras sujas.

Exclusão ou atualização de dados

Data warehouses tradicionais têm dificuldade para executar exclusões ou atualizações no nível de linha de forma eficiente. Essas operações geralmente exigem a execução de um job offline que lê toda a tabela original, modifica os dados e os reescreve. O Iceberg restringe as alterações do nível da tabela para o nível do arquivo, permitindo atualizações parciais eficientes.

Em um data lake Iceberg, altere diretamente os dados em uma tabela executando um comando como DELETE FROM test_table WHERE id > 10.

Controle de qualidade de dados

Utilize a validação de schema do Iceberg para descartar ou processar adicionalmente dados anômalos durante a importação.

Evolução de schema de dados

O Iceberg aceita alterações de schema por meio de instruções DDL do Spark SQL sem reescrever dados históricos, tornando a evolução rápida.

O suporte a ACID isola as alterações de schema dos jobs de leitura existentes, garantindo leituras consistentes durante todo o processo.

Machine learning em tempo real

Em fluxos de trabalho de machine learning, o processamento de dados (limpeza, transformação, extração de features) consome a maior parte do tempo. O Iceberg unifica dados históricos e em tempo real em um único fluxo confiável, no qual cada etapa de processamento é um nó no pipeline. Isso elimina caminhos separados para batch e streaming. O Iceberg também fornece um SDK nativo em Python para desenvolvedores de algoritmos.