Greetings @Sunil_Patidar , Databricks and Snowflake can interoperate cleanly around Iceberg today โ but how you do it matters.
At a high level, interoperability works because both platforms meet at Apache Iceberg and the Iceberg REST Catalog API.
What works today
โข Snowflake can read (GA) and write (Public Preview) Unity Catalogโmanaged Iceberg tables using Databricksโ Iceberg REST Catalog implementation in Unity Catalog.
โข Databricks can discover and read Iceberg tables managed by Snowflake Horizon Catalog using Unity Catalog Iceberg catalog federation (Public Preview, requires Databricks Runtime 16.4 LTS+).
โข Databricks can also connect directly to Snowflake Open Catalog using the standard Apache Iceberg REST client (Spark catalog). This supports full read/write and is the most flexible option today.
Important nuance
Write-back to Snowflake Horizon via Unity Catalog federation is not explicitly documented as supported in the current Public Preview. If you need true bidirectional writes between Databricks and Snowflake-managed Iceberg tables, use the direct Spark + Iceberg REST approach rather than UC federation.
Recommended patterns
If Snowflake needs access to Databricks-managed tables
โ Use Unity Catalogโs Iceberg REST APIs with Snowflakeโs REST catalog integration.
If Databricks needs read access to Snowflake Horizon tables
โ Use Unity Catalog Iceberg catalog federation (DBR 16.4 LTS+).
If you need full read/write interoperability
โ Configure Databricks as an Apache Iceberg Spark client pointing directly at Snowflake Open Catalog via the Iceberg REST API.
Key things to watch
โข Use fully qualified catalog names in UC-enabled workspaces (donโt replace spark_catalog).
โข Match Iceberg runtime versions to your Databricks Runtime.
โข Snowflake Open Catalog uses catalog-vended, short-lived credentials via the Iceberg REST API โ no long-lived cloud credentials required.
Bottom line
Iceberg interoperability between Databricks and Snowflake is real and usable today, but federation is currently best suited for discovery and read access. For bidirectional data movement, go direct via Iceberg REST.
Hope that helps, Louis.