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.