Notebook web para análise interativa de dados, que combina SQL, Scala, Python e outros interpretadores em documentos compartilhados.
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
Clone o repositório
- 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
Framework de desenvolvimento de aplicações de streaming e plano de controle cloud-native para executar e gerenciar jobs do Apache Flink e Spark.
Middleware de computação que conecta aplicações a mecanismos de dados como Spark, Hive e Flink por meio de interfaces REST/WS/JDBC.
Trino é um mecanismo de consultas SQL distribuído para executar consultas analíticas rápidas em fontes de big data.
Um mecanismo de consultas MPP open source para análises em menos de um segundo em lakehouses de dados e no próprio armazenamento, compatível com o protocolo MySQL.
Exemplos de código, tutoriais e utilitários para criar jobs de ETL e pipelines de integração de dados no AWS Glue.