Skip to main content

Unity Catalog Iceberg tables with OLake Go

Unity Catalog exposes an Iceberg REST (representational state transfer) endpoint. OLake Go writes managed Iceberg tables through it, and Databricks governs them.

Short answer. To write Iceberg tables to Unity Catalog, create an OLake Go destination with catalog_type: unity, the workspace Iceberg REST endpoint, and OAuth2 machine-to-machine, OAuth2 user-to-machine, token federation or a personal access token. The metastore needs external data access turned on, and the writer needs the EXTERNAL USE SCHEMA privilege.

Key takeaways

  • OLake Go writes Unity Catalog managed Iceberg tables through the workspace Iceberg REST endpoint.
  • Databricks reads them natively, and Spark, DuckDB and Trino read them over REST.
  • Eight guides ran end to end on Unity Catalog, for example Postgres to Databricks.

Last reviewed October 2026.

How OLake Go writes to Unity Catalog​

OLake Go uses change data capture (CDC) where the source has it. It commits Unity Catalog managed Iceberg tables. Databricks reads them natively, and Spark, DuckDB and Trino read them over REST.

The eight Databricks guides ran end to end on Unity Catalog. The Unity Catalog writer page holds the destination reference.

When to use it​

  • Databricks is the main reader and Unity Catalog governs your data.
  • DuckDB or Spark should read the same tables.

When not to use it​

  • The job needs equality or positional deletes. Databricks reads only deletion vectors on these tables.
  • A Kafka topic must be upserted and you run an older OLake. Before Kafka source v1.1.1 and OLake UI v0.8.2, Kafka upserts use positional deletes, so Kafka runs in Append mode on Unity. Current versions upsert with deletion vectors, as in Kafka to Databricks.

What OLake Go needs

  • catalog_type: unity
  • Authentication OLake Go offers: OAuth2 M2M, OAuth2 U2M, Token federation, Personal access token.
  • Full destination reference: Unity Catalog setup.

Engines that read Unity Catalog

EngineReadsHow
Amazon RedshiftPartialLake Formation catalog federation only
Apache SparkYestype=rest with OAuth2
ClickHouseYesDataLakeCatalog with catalog_type unity (external locations only)
DatabricksYesnative: Unity Catalog managed Iceberg tables
DuckDBYesATTACH to the Unity REST endpoint (AWS-hosted workspaces)
Microsoft FabricYesAzure Databricks Unity Catalog
SnowflakeYescatalog integration (read-only) (Not yet tested on this site.)
TrinoYesREST catalog

Each engine row comes from that engine's vendor documentation. The dated sources are on the engine's page, linked in the first column.

Guides that use Unity Catalog

Frequently asked questions​

Which privilege does OLake Go need in Unity Catalog?

EXTERNAL USE SCHEMA on the target schema. It is not part of ALL PRIVILEGES, and only the catalog owner can grant it.

Which delete format works with Unity Catalog?

Iceberg v3 deletion vectors. Databricks does not read v2 positional or equality deletes under Unity Catalog.

Is there a tested guide on Unity Catalog?

Yes. The eight Databricks guides listed below ran on Unity Catalog.