Sobre o projeto
Apache Iceberg é um formato de tabela de alto desempenho projetado para tabelas analíticas de larga escala. Ele permite que múltiplos mecanismos de processamento — incluindo Apache Spark, Trino, Apache Flink, Presto, Apache Hive e Impala — trabalhem de forma segura e concorrente com as mesmas tabelas.
O projeto fornece uma especificação de formato estável e uma implementação de referência em Java. A biblioteca Java é organizada em vários módulos:
- API Core e Implementação: `iceberg-api` e `iceberg-core` fornecem a API pública e a lógica central, incluindo suporte para arquivos de dados Avro.
- Suporte a Formatos de Arquivo: Módulos opcionais para Parquet (`iceberg-parquet`), ORC (`iceberg-orc`) e Arrow (`iceberg-arrow`).
- Módulos de Integração: Implementações específicas para Spark (`iceberg-spark`), Flink (`iceberg-flink`) e Hive (`iceberg-mr`), bem como uma implementação de Hive metastore (`iceberg-hive-metastore`).
- Suporte a Aplicações: `iceberg-data` permite que aplicações JVM trabalhem com tabelas diretamente.
Além da implementação em Java, o ecossistema Iceberg inclui implementações em Go, Python (PyIceberg), Rust e C++.