Skip to contents

Connecting

A catalog is the thing that knows where tables are. Credentials come from the environment, never from arguments.

icebergr_catalog()
Connect to an Iceberg catalog
icebergr_list_namespaces()
List namespaces in a catalog
icebergr_list_tables()
List tables in a namespace
icebergr_create_namespace()
Create a namespace

Table handles

A handle is bound to one snapshot, which is what makes two scans off it agree. icebergr_reload() is how you opt in to newer commits.

icebergr_table()
Open an Iceberg table
icebergr_table_exists()
Whether a table exists in a catalog
icebergr_reload()
Re-read a table's metadata from its catalog

Reading

icebergr_scan() pushes the filter and the column list down into iceberg-rust; icebergr_scan_plan() shows what survived before any data file is opened.

icebergr_scan()
Scan an Iceberg table
icebergr_scan_plan()
Inspect the file plan for a scan
icebergr_collect() as.data.frame(<icebergr_scan>) as.data.frame(<icebergr_table>)
Materialise a scan or a table

Metadata

icebergr_schema()
The schema of an Iceberg table
icebergr_partitions()
The partition specification of an Iceberg table
icebergr_properties()
The properties of an Iceberg table
icebergr_snapshots()
Snapshot history of an Iceberg table

Writing

Appends, table and namespace creation, and registering a table another engine wrote. What this version will not write, it refuses before anything reaches the warehouse.

icebergr_append()
Append rows to an Iceberg table
icebergr_create_table()
Create an Iceberg table
icebergr_register_table()
Register an existing table with a catalog

Knowing the boundary

Which parts of the Iceberg spec this build supports, and for each gap, whether it is missing here or missing in iceberg-rust.

icebergr_spec_support()
What this build of icebergr supports

Examples and package overview

icebergr_example_table()
A small Iceberg table for offline examples and tests
icebergr icebergr-package
icebergr: Read and Write 'Apache Iceberg' Tables