Skip to content

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

Community

License

Licensed under the Apache License, Version 2.0.