Apache Iceberg™ C++¶
Overview¶
iceberg-cpp is a C++ implementation of Apache Iceberg™, an open table format for large analytic datasets. It provides the data structures, algorithms, and catalog integrations required to read, write, and manage Iceberg tables from C++ applications or engines.
Key Features¶
- Modern C++23 — Built with ranges, concepts,
std::expected, and other modern idioms - Cross-Platform — Builds and runs on Linux, macOS, and Windows
- Spec Compliance — Full table spec support today; Puffin, View, and UDF specs are on the roadmap
- Arrow-Native — Uses the Arrow C Data Interface as the primary data API
- Easy Engine Integration — Interface-oriented, pluggable design for Catalog, FileIO, FileFormat, and more
- Battery-Included — Deep integration with Apache Arrow for columnar layout and rich file system support
- REST Catalog Client — Connects to any Iceberg REST catalog with pluggable authentication
- File Format Support — Built-in readers and writers for Apache Parquet and Apache Avro
Quick Links¶
- Getting Started — Build and install the library
- Contributing — Development setup and coding standards
- Releases — Download and release history
- API Documentation — Doxygen-generated API reference
Community¶
License¶
Licensed under the Apache License, Version 2.0.