Repolode
apache

apache/iceberg

Formato aberto de tabelas de alto desempenho para grandes conjuntos de dados analíticos, que permite a engines como Spark, Trino, Flink e Hive compartilhar as mesmas tabelas com segurança.

Estrelas
9,411
Forks
3,660
Issues abertas
909
Último commit
há 20 horas

O que é?

Apache Iceberg é um formato de tabelas para grandes conjuntos de dados analíticos. Ele oferece aos data lakes a confiabilidade e a simplicidade das tabelas SQL, permitindo que vários engines de processamento trabalhem ao mesmo tempo nas mesmas tabelas sem corrompê-las.

Este repositório contém a biblioteca Java principal, que serve como implementação de referência da especificação Iceberg. Ela é dividida em módulos: uma API pública, uma implementação central com suporte a Avro, módulos opcionais para Parquet, ORC e Arrow, um catálogo baseado no metastore do Hive e um módulo de dados para ler e gravar tabelas diretamente em aplicações JVM. Também estão incluídas integrações com os engines Spark, Flink e Hive.

Implementações em outras linguagens são mantidas em repositórios separados, incluindo Go, Python (PyIceberg), Rust e C++. O projeto é compilado com Gradle usando Java 17 ou 21.

Recursos principais

  • 01Oferece às tabelas em data lakes uma confiabilidade semelhante à das tabelas SQL.
  • 02Permite que vários engines, como Spark, Flink e Hive, trabalhem simultaneamente nas mesmas tabelas.
  • 03Dá suporte a arquivos de dados Avro, Parquet e ORC por meio de módulos opcionais.
  • 04Inclui uma implementação de tabelas baseada no metastore do Hive.
  • 05Oferece uma API Java para ler e gravar tabelas em aplicações JVM.

Casos de uso

  • Criar um data lake no qual Spark e Trino consultam as mesmas tabelas analíticas.
  • Transmitir dados para tabelas analíticas com Flink enquanto jobs em lote as leem.
  • Adicionar confiabilidade no nível das tabelas a conjuntos de dados Parquet ou ORC em uma stack baseada em Hive.

Início rápido

  1. 1

    Clone o repositório

  2. 2

    Compile o projeto e execute os testes com Gradle (requer Java 17 ou 21)

    ./gradlew build

Antes de usar

  • Para compilar e executar os testes, são necessários Java 17 ou 21 e Docker para a suíte de testes.
  • Este repositório contém a biblioteca Java; não é um banco de dados independente nem um aplicativo para usuários finais.

Tópicos

Perguntas frequentes

O que é iceberg?
Formato aberto de tabelas de alto desempenho para grandes conjuntos de dados analíticos, que permite a engines como Spark, Trino, Flink e Hive compartilhar as mesmas tabelas com segurança. Apache Iceberg é um formato de tabelas para grandes conjuntos de dados analíticos. Ele oferece aos data lakes a confiabilidade e a simplicidade das tabelas SQL, permitindo que vários engines de processamento trabalhem ao mesmo tempo nas mesmas tabelas sem corrompê-las.
iceberg é gratuito? Qual é a licença?
iceberg é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
iceberg ainda é mantido?
Manutenção ativa. O último commit de iceberg foi em 5 de nov. de 2026.
Para que posso usar iceberg?
Criar um data lake no qual Spark e Trino consultam as mesmas tabelas analíticas. Transmitir dados para tabelas analíticas com Flink enquanto jobs em lote as leem. Adicionar confiabilidade no nível das tabelas a conjuntos de dados Parquet ou ORC em uma stack baseada em Hive.
Como instalar iceberg?
Clone o repositório Compile o projeto e execute os testes com Gradle (requer Java 17 ou 21): ./gradlew build
Onde consigo iceberg?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apache/iceberg

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados