Package: icebergr 0.2.0

icebergr: Read and Write 'Apache Iceberg' Tables

A native client for 'Apache Iceberg', the open table format used by 'Snowflake', 'Databricks', 'BigQuery', 'AWS' and 'Dremio'. Rather than reaching 'Iceberg' through a query engine such as 'DuckDB', this package talks to it directly: it connects to REST and 'AWS Glue' catalogs, lists namespaces and tables, reads the schema and partition specification of a table, scans data with predicates and projections pushed down, travels back through snapshot history, and appends new data. 'Apache Arrow' is the interchange layer throughout, so scan results arrive in R without a serialisation round trip. Built on 'iceberg-rust', the Apache-governed 'Rust' implementation, via 'extendr'. Supports table spec versions 1 and 2; see the 'README' for the full matrix of supported and unsupported features. This is a community package, not affiliated with or endorsed by The Apache Software Foundation; 'Apache', 'Apache Iceberg' and 'Iceberg' are trademarks of The Apache Software Foundation.

Authors:Youzhi Yu [aut, cre], The Apache Software Foundation [cph]

icebergr_0.2.0.tar.gz
icebergr_0.2.0.zip(r-4.7-x86_64)icebergr_0.2.0.zip(r-4.7-arm64)icebergr_0.2.0.zip(r-4.6-x86_64)icebergr_0.2.0.zip(r-4.6-arm64)icebergr_0.2.0.zip(r-4.5-x86_64)
icebergr_0.2.0.tgz(r-4.6-x86_64)icebergr_0.2.0.tgz(r-4.6-arm64)icebergr_0.2.0.tgz(r-4.5-x86_64)icebergr_0.2.0.tgz(r-4.5-arm64)
icebergr_0.2.0.tar.gz(r-4.7-arm64)icebergr_0.2.0.tar.gz(r-4.7-x86_64)icebergr_0.2.0.tar.gz(r-4.6-arm64)icebergr_0.2.0.tar.gz(r-4.6-x86_64)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
icebergr/json (API)

# Install 'icebergr' in R:
install.packages('icebergr', repos = c('https://pursuitofdatascience.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/pursuitofdatascience/icebergr/issues

Pkgdown/docs site:https://pursuitofdatascience.github.io

On CRAN:

Conda:

rustcargo

5.43 score 1 stars 11 scripts 560 downloads 19 exports 11 dependencies

Last updated from:0fb295ebeb. Checks:14 OK, 1 FAIL. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK462
linux-devel-x86_64OK489
source / vignettesOK931
linux-release-arm64OK524
linux-release-x86_64OK483
macos-release-arm64OK497
macos-release-x86_64OK1054
macos-oldrel-arm64OK723
macos-oldrel-x86_64OK1029
windows-devel-arm64OK819
windows-devel-x86_64OK982
windows-release-arm64OK820
windows-release-x86_64OK928
windows-oldrel-x86_64OK980
wasm-releaseFAIL206

Exports:icebergr_appendicebergr_catalogicebergr_collecticebergr_create_namespaceicebergr_create_tableicebergr_example_tableicebergr_list_namespacesicebergr_list_tablesicebergr_partitionsicebergr_propertiesicebergr_register_tableicebergr_reloadicebergr_scanicebergr_scan_planicebergr_schemaicebergr_snapshotsicebergr_spec_supporticebergr_tableicebergr_table_exists

Dependencies:cligluelifecyclemagrittrnanoarrowpillarpkgconfigrlangtibbleutf8vctrs

Catalog configuration
Credentials are never arguments | Iceberg REST catalog | With OAuth2 client credentials | Extra, non-secret properties | Object storage | S3-compatible storage (MinIO, R2, Ceph) | AWS Glue | Local warehouses | Performance notes | Troubleshooting | References

Last update: 2026-10-05
Started: 2026-08-06

Predicate and Projection Pushdown
The three levels | File pruning, measured | Projection pushdown | Which predicates push down | Three things that do not push down | Case sensitivity | Reading a plan for cost, not just count | References

Last update: 2026-10-05
Started: 2026-09-10

Time Travel: Snapshots, Timestamps and Rollbacks
Snapshot history | Reading a snapshot by id | Reading as of a time | The schema travels too | Isolation, and why a handle looks stale | What is not here | References

Last update: 2026-10-05
Started: 2026-09-10

Types: The R, Arrow and Iceberg Correspondence
What survives unchanged | The five that need care | NaN comes back as NA | factor comes back as character | long needs bit64 | timestamp_ns loses sub-microsecond precision | Snapshot ids are character | Nested types | Reading the schema rather than guessing it | Why the bridge is an Arrow bridge | References

Last update: 2026-10-05
Started: 2026-09-10

Writing: Appends, Tables and What Is Refused
A namespace, then a table | Appending | Compression | Commits are atomic, and optimistic | Registering a table someone else wrote | What is refused, and why that is the design | Checking before you write | References

Last update: 2026-10-05
Started: 2026-09-10

Getting started with icebergr
What this package is for | A table to work with | Inspecting a table | Reading | Pushdown | Verifying that pushdown happened | One caveat about limit | Time travel | Writing | Creating a table | Type fidelity | Knowing what is not supported | Where next | References

Last update: 2026-09-23
Started: 2026-08-06

What Iceberg Is, and What It Fixes
The problem inherited from Hive | What Iceberg keeps instead | Why the column statistics matter so much | Concurrency, without a lock server | Where R sits in this | What this package does not do | References

Last update: 2026-09-23
Started: 2026-09-10

Readme and manuals

Help Manual

Help pageTopics
Append rows to an Iceberg tableicebergr_append
Connect to an Iceberg catalogicebergr_catalog
Materialise a scan or a tableas.data.frame.icebergr_scan as.data.frame.icebergr_table icebergr_collect icebergr_collect.icebergr_scan icebergr_collect.icebergr_table
Create a namespaceicebergr_create_namespace
Create an Iceberg tableicebergr_create_table
A small Iceberg table for offline examples and testsicebergr_example_table
List namespaces in a catalogicebergr_list_namespaces
List tables in a namespaceicebergr_list_tables
The partition specification of an Iceberg tableicebergr_partitions
The properties of an Iceberg tableicebergr_properties
Register an existing table with a catalogicebergr_register_table
Re-read a table's metadata from its catalogicebergr_reload
Scan an Iceberg tableicebergr_scan
Inspect the file plan for a scanicebergr_scan_plan
The schema of an Iceberg tableicebergr_schema
Snapshot history of an Iceberg tableicebergr_snapshots
What this build of icebergr supportsicebergr_spec_support
Open an Iceberg tableicebergr_table
Whether a table exists in a catalogicebergr_table_exists