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.