When D2 found its R2

When D2 found its R2

Launching R2 Storage and R2 Catalog Support

Launching R2 Storage and R2 Catalog Support

Launching R2 Storage and R2 Catalog Support

Launching R2 Storage and R2 Catalog Support

Jun 5, 2025

Jun 5, 2025

We are very excited to launch support for Cloudflare R2 object storage and R2 Iceberg catalogs in Tower today. You can now build Apache Iceberg-based lakehouses on R2 storage and seamlessly integrate the necessary R2 Iceberg catalogs into Tower apps. You get all of the simplicity of Tower Tables and none of the setup madness of regular catalogs. In collaboration with our users, we recognized the future of multi-cloud ML training workloads and data applications and decided to invest in supporting Cloudflare's "Switzerland of open storage." 


Define R2 Catalogs in Tower

To start using R2 catalogs in Tower apps, define the catalog in Tower's Web UI (Accounts Settings > Catalogs). 

Use Tower Tables with R2 Catalogs

Then, use Tower Tables to easily integrate with tables stored in R2.

from tower import tables

# Get a table reference, if your catalog is called “default”
table = tables("my_table1").load()

# Get a table reference, if your catalog is called something else
table = tables("my_table2", catalog=”my_r2_catalog”).load()

# Create a lazy query plan
lazy_df = table.to_polars()

# conquer the world

If you prefer using PyIceberg tables access directly, Tower will set the necessary PYICEBERG_CATALOG* environment variables for you automatically.


Optionally use different catalogs in multiple environments

Tower also makes it simple to operate your app in multiple environments, e.g. development and production. You can even use different catalog and storage backends depending on the environment. For example, you can use AWS S3 storage and Snowflake's Open Catalog in your "default" development environment and then create a "prod-on-r2" environment for your production usage and use the R2 catalog there. Your Tower app does not have to change and can run the same in both environments.

Benefits of R2 object storage and R2 catalogs

R2 object storage from Cloudflare is compatible with S3 and can be utilized by a wide range of existing data processing libraries. The main benefit of hosting your lakehouse on Cloudflare instead of AWS or Azure are the zero egress fees for accessing your data, whereas AWS and other clouds charge you for data egress. Cloudflare is known to be a reliable CDN used by millions of customers, so evolving from hosting static website images and files to serving data from lakehouses was a natural progression for them.

R2 Catalog is a new feature from Cloudflare. It is a managed Apache Iceberg data catalog for the table data residing in your R2 storage bucket. R2 Catalog exposes a standard Iceberg REST catalog interface so that you can connect Tower apps and other query engines you already use, e.g., Spark or Snowflake.

Tower added R2 Catalog support while working with our users on building out their lakehouse infrastructure.

Next Steps

  1. Sign Up for Tower Beta

  2. Create your first Tower app (see Quickstart)

  3. Set up the R2 Catalog under Account Settings > Catalogs

  4. Try two Tower examples to write and read data from your R2 storage: Writing Ticker Data to Iceberg, Trimming Ticker Table


© Tower Computing 2025. All rights reserved

Hassle-free Platform for Data Scientists & Engineers.

© Tower Computing 2025. All rights reserved

Hassle-free Platform for Data Scientists & Engineers.

© Tower Computing 2025. All rights reserved

Hassle-free Platform for Data Scientists & Engineers.

© Tower Computing 2025. All rights reserved

Hassle-free Platform for Data Scientists & Engineers.