Iceberg Catalog
Please contact us before using this feature.
Apache Iceberg is a powerful open-source table format designed for high-performance data lakes. Iceberg brings reliability, scalability, and advanced features like time travel, schema evolution, and ACID transactions to your warehouse.
Spiral takes Iceberg to the next level by providing a managed Iceberg experience that simplifies setup and operation while keeping you in control. Spiral offers a hosted Iceberg Catalog that serves as the central hub for your warehouse, with easy setup for any object storage. Behind the scenes, we handle the complexity of catalog management—metadata tracking, table versioning, and partition optimization, so you can focus on building your warehouse.
Spiral enforces authentication and access controls out of the box through simple yet powerful Authorization and File Systems. This means you get a production-ready Iceberg setup without the hassle of building your own security layer.
Connect to Iceberg Catalog
You can connect to Spiral’s Iceberg Catalog using any Iceberg REST Catalog client through https://api.spiraldb.com/iceberg.
You must be authenticated to access catalog, and authorized to access specific tables. Tables must be namespaced by a project ID and follow the same permission model as the other resources in Spiral, see Authorization.
Clients
Python
The easiest way to get started is to use PySpiral client which handles the setup for you.
import spiral
import pyarrow as pa
sp = spiral.Spiral()
project = sp.project('muddy-dew-889419')
catalog = sp.iceberg.catalog()
# If you are using just project ID as namespace, there is no need to create it.
catalog.create_namespace_if_not_exists((project.id, 'gharchive'))
table = catalog.create_table((project.id, 'gharchive', 'events-v1'), schema=pa.schema({'key': pa.int32()}))For more information, please refer to the Iceberg Python documentation .
Rust
…
Java
…