If governed data already lives in Azure Databricks Unity Catalog, copying every table into another lake is not the only option.
Fabric can create a Mirrored Azure Databricks catalog. It discovers Unity Catalog metadata and creates Databricks-type shortcuts for selected tables. A Fabric Lakehouse can then expose those tables through OneLake shortcuts.
The flow
Azure Databricks Unity Catalog
|
v
Mirrored Azure Databricks catalog in Fabric
|
+--> SQL analytics endpoint
|
v
OneLake shortcuts in a Fabric Lakehouse
|
+--> Spark notebook
+--> Direct Lake or semantic model
The validation workspace was blog_databricks_shortcuts. It contained a
sales_lakehouse and SQL analytics endpoint on active trial capacity.
Prerequisites
You need:
- an Azure Databricks workspace with Unity Catalog;
- external data access enabled on the metastore;
EXTERNAL USE SCHEMAon the schemas Fabric should access;- a capacity-backed Fabric workspace; and
- permission to create mirrored items, connections, and shortcuts.
The Databricks connection supports Organizational account and Service principal authentication.
1. Create the mirrored catalog
In blog_databricks_shortcuts:
- select New item;
- select Mirrored Azure Databricks catalog;
- create or select the Databricks connection;
- choose the catalog, schemas, and tables;
- leave Automatically sync future catalog changes for the selected schema enabled unless you need a fixed allowlist; and
- create the item.
Fabric creates a catalog item, shortcuts for selected tables, and a SQL analytics endpoint. Empty schemas are not shown.
2. Check it with SQL
Open the mirrored item’s SQL analytics endpoint and run:
select top (100)
*
from [sales].[orders];
Use the names from your Unity Catalog selection. If the object is missing, check the Databricks identity and Unity Catalog privileges first.
3. Create a Lakehouse shortcut
Create or open:
sales_lakehouse
In Lakehouse Explorer:
- select New shortcut;
- choose Microsoft OneLake;
- select the mirrored Databricks catalog;
- select the tables; and
- select Create.
This creates a shortcut to the Fabric catalog item. It is not a second copy.
4. Read the shortcut with Spark
Attach the Lakehouse to a Fabric notebook:
from notebookutils import mssparkutils
for item in mssparkutils.fs.ls("Tables"):
print(item.name, item.path)
Then query the selected table:
orders = spark.table("sales_orders")
display(
orders
.select("order_id", "customer_id", "order_date", "amount")
.orderBy("order_date", ascending=False)
.limit(20)
)
Replace the table and columns with the names shown in your Lakehouse.
For an aggregate:
from pyspark.sql import functions as F
summary = (
orders
.groupBy("customer_id")
.agg(
F.count("*").alias("order_count"),
F.sum("amount").alias("total_amount")
)
.orderBy(F.col("total_amount").desc())
)
display(summary.limit(20))
Firewall-protected ADLS
Unity Catalog metadata and storage access are separate.
If the ADLS Gen2 account has a firewall:
- assign a workspace identity to the Fabric workspace;
- configure the Network Security tab while creating the mirrored catalog;
- grant that identity the required storage access; and
- allow the workspace identity through the firewall with Trusted Workspace Access.
Even when Databricks uses a service principal, Fabric uses the workspace identity to cross the ADLS firewall.
Permissions do not automatically follow the data
Unity Catalog grants do not become OneLake grants for every downstream user. Keep both systems aligned:
- synchronize the relevant Entra group to Databricks;
- grant the Unity Catalog privileges;
- create a OneLake data access role; and
- add the same group with only the required shortcut access.
For automated alignment, see Keep Databricks and Fabric permissions aligned with Policy Weaver. That article explains the supported translation boundary and the Fabric identity settings required for enforcement.
Troubleshooting
Catalog or schema is missing
Check Unity Catalog access, including EXTERNAL USE SCHEMA.
The mirrored item exists but a shortcut does not
Check the table inclusion list and confirm that the schema contains visible tables.
403 against firewall-protected storage
Check the workspace identity and Trusted Workspace Access. Databricks authentication does not grant firewall traversal.
Spark cannot query the shortcut
Confirm the second shortcut points to the mirrored catalog, the notebook has the correct Lakehouse attached, and the table name matches the Lakehouse.
Source
The useful pattern is asymmetric: Databricks governs the source, while Fabric exposes selected tables through OneLake, SQL, Spark, and Power BI without starting with a bulk-copy project.
Loading comments…