Ga naar de inhoud
R Roesli.
Ga terug
unity-catalog

Unity Catalog managed tables draaien op OneLake

Een geverifieerde walkthrough voor Fabric Azure Databricks Storage als root voor Unity Catalog managed tables en het ontsluiten van Delta-data via een Mirrored Azure Databricks Catalog.

Hands-on · Geverifieerd op 18 september 2026

Deze walkthrough gebruikt het Microsoft Fabric-item Azure Databricks Storage als managed-storage root voor een Azure Databricks Unity Catalog-catalog. Daarna ontsluit hij een Delta-tabel via een Mirrored Azure Databricks Catalog.

De releasestatus hoort bij het ontwerp: Azure Databricks Storage is Preview, de Databricks-to-OneLake external-location capability is Beta en de vanuit Fabric gestarte mirrored catalog voor consumption is generally available. Behandel het storagepad als evaluatie- of controlled-workloadpatroon totdat de previewfeatures GA zijn.

De architectuur

Azure Databricks
  -> Unity Catalog managed Delta table
  -> Azure Databricks Storage (OneLake /Files)
  -> Mirrored Azure Databricks Catalog
  -> Fabric SQL endpoint, Lakehouse shortcut, or Direct Lake

De eerste integratie maakt OneLake de managed-storage root. De tweede synchroniseert catalogmetadata en maakt shortcuts. Hij kopieert geen tabledata.

Dit is geen OneLake catalog federation. Federation ontsluit bestaande Fabric-data in Databricks. Hier beheert Databricks de tabel, slaat OneLake de bytes op en biedt Fabric een read-only consumptieoppervlak.

Vereisten en namen

ObjectNaam
Restricted storage workspacedbx-onelake-storage
Consumer workspacedbx-onelake-consumption
Storage itemuc_managed_storage
Access Connectorac-dbx-onelake
Storage credentialonelake_mi_credential
External locationonelake_uc_root
Catalog / schema / tableonelake_demo.sales.orders

1. Schakel de settings in

  1. Vraag een workspace administrator in Azure Databricks om de OneLake external-locationfeature op de pagina Previews in te schakelen.
  2. Open in Fabric Settings → Admin portal → Tenant settings en schakel Users can create Azure Databricks Storage items in voor de bedoelde admingroup.
  3. Open in dbx-onelake-storage Workspace settings → Delegated settings → OneLake settings en schakel Authenticate with OneLake user-delegated SAS tokens in.

2. Maak en autoriseer de Access Connector

  1. Maak ac-dbx-onelake in Azure en schakel de managed identity in.
  2. Kopieer de resource ID:
/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Databricks/accessConnectors/ac-dbx-onelake
  1. Selecteer in dbx-onelake-storage Workspace settings → Manage access → Add people or groups.
  2. Voeg de managed identity toe en wijs Contributor toe, de minimaal gedocumenteerde role voor dit writepad.

Houd deze workspace dedicated. Admins, Members en Contributors kunnen data in het storage-item lezen, schrijven en verwijderen, ook zonder de equivalente Unity Catalog-grant.

3. Maak Azure Databricks Storage

In dbx-onelake-storage:

  1. selecteer + New item → Azure Databricks Storage;
  2. noem het uc_managed_storage; en
  3. kopieer workspace- en item-ID uit de browser-URL.
FABRIC_STORAGE_WORKSPACE_ID = <workspace-guid>
DATABRICKS_STORAGE_ITEM_ID  = <item-guid>

Bouw exact dit path:

abfss://<FABRIC_STORAGE_WORKSPACE_ID>@onelake.dfs.fabric.microsoft.com/<DATABRICKS_STORAGE_ITEM_ID>/Files/

Gebruik GUIDs, geen namen, en neem /Files/ op.

4. Maak de Unity Catalog storage credential

In Azure Databricks Catalog:

  1. selecteer het configuratiemenu en Create a credential;
  2. selecteer Azure Managed Identity;
  3. noem deze onelake_mi_credential;
  4. plak de resource ID van de Access Connector;
  5. geef voor een user-assigned identity de managed identity ID op; en
  6. maak hem.

5. Maak en test de external location

In Catalog Explorer:

  1. open Connect → External locations → Create external location;
  2. noem deze onelake_uc_root;
  3. selecteer OneLake en onelake_mi_credential;
  4. plak het ABFSS-path met GUIDs;
  5. maak hem; en
  6. selecteer Test connection.

De waarschuwing skipped file events read is verwacht voor OneLake-paths. Controleer bij 403 Forbidden de workspacerole van de identity, actieve capacity, beide GUIDs en /Files/.

6. Maak een deterministische Delta-tabel

Draai dit op Databricks Runtime 18.1+ of serverless. Vervang beide GUIDs:

CREATE CATALOG IF NOT EXISTS onelake_demo
MANAGED LOCATION 'abfss://<FABRIC_STORAGE_WORKSPACE_ID>@onelake.dfs.fabric.microsoft.com/<DATABRICKS_STORAGE_ITEM_ID>/Files/uc-managed';

CREATE SCHEMA IF NOT EXISTS onelake_demo.sales;

CREATE OR REPLACE TABLE onelake_demo.sales.orders
USING DELTA AS
SELECT * FROM VALUES
 ('O-1001', DATE '2026-09-01', 'Contoso Retail',   'Web',     CAST(129.99 AS DECIMAL(12,2))),
 ('O-1002', DATE '2026-09-02', 'Fabrikam Stores', 'Store',   CAST( 49.50 AS DECIMAL(12,2))),
 ('O-1003', DATE '2026-09-03', 'Adventure Works', 'Web',     CAST(220.00 AS DECIMAL(12,2))),
 ('O-1004', DATE '2026-09-04', 'Northwind',       'Mobile',  CAST( 15.99 AS DECIMAL(12,2))),
 ('O-1005', DATE '2026-09-05', 'Tailspin Toys',   'Partner', CAST(314.87 AS DECIMAL(12,2)))
AS t(order_id, order_date, customer_name, channel, net_amount);

SELECT COUNT(*) AS row_count,
       CAST(SUM(net_amount) AS DECIMAL(18,2)) AS total_net_amount
FROM onelake_demo.sales.orders;

DESCRIBE DETAIL onelake_demo.sales.orders;

De aggregatie moet 5 en 730.35 teruggeven. DESCRIBE DETAIL moet format = delta tonen en een location onder het GUID-path van het storage-item.

7. Autoriseer de mirror identity

Schakel external data access in via Catalog → gear icon → Metastore → Details → External data access en verleen:

GRANT USE CATALOG ON CATALOG onelake_demo
TO `<FABRIC_CONNECTION_PRINCIPAL>`;

GRANT USE SCHEMA ON SCHEMA onelake_demo.sales
TO `<FABRIC_CONNECTION_PRINCIPAL>`;

GRANT SELECT ON TABLE onelake_demo.sales.orders
TO `<FABRIC_CONNECTION_PRINCIPAL>`;

GRANT EXTERNAL USE SCHEMA ON SCHEMA onelake_demo.sales
TO `<FABRIC_CONNECTION_PRINCIPAL>`;

EXTERNAL USE SCHEMA zit niet in ALL PRIVILEGES en wordt niet automatisch aan schema owners verleend.

8. Maak de mirrored catalog

In dbx-onelake-consumption:

  1. selecteer + New item → Mirrored Azure Databricks catalog;
  2. gebruik Organizational account- of Service principal authentication;
  3. selecteer onelake_demo, sales en orders;
  4. laat future schema synchronization ingeschakeld; en
  5. maak het item.

Bevraag het gegenereerde endpoint:

SELECT COUNT_BIG(*) AS row_count,
       CAST(SUM(net_amount) AS DECIMAL(18,2)) AS total_net_amount
FROM [sales].[orders];

Verwacht 5 en 730.35. Maak voor Spark een Lakehouse en gebruik Get data in your lakehouse → New shortcut → Microsoft OneLake. Selecteer daarna de mirrored catalog en sales.orders.

Synchronisatie heeft twee klokken

  1. Unity Catalog naar het mirrored item synchroniseert de catalogstructuur. Automatic sync volgt toevoegingen en deletions van geselecteerde schema’s en tabellen. Renames worden niet ondersteund.
  2. Delta files naar het SQL endpoint kunnen seconden tot minuten nodig hebben. Een geslaagde Databricks-write betekent niet dat het endpoint direct actueel is.
SymptoomControle
Catalog, schema of table ontbreektExternal access, USE CATALOG, USE SCHEMA, SELECT en EXTERNAL USE SCHEMA
Nieuwe table ontbreektGeselecteerd schema en automatic future sync
Object wordt uitgefilterdViews, materialized views, streaming tables, Delta Sharing tables en tables met Unity Catalog row filters of masks worden niet ondersteund
Rename is verouderdBehandel het renamed object als nieuwe selectie
Manage catalog niet beschikbaarWacht op metadata sync
Recente rows ontbrekenGeef propagation tijd en refresh het gegenereerde endpoint
File-eventswaarschuwingVerwacht voor OneLake; staat los van catalog sync

Diagnosticeer één laag tegelijk: bevraag Databricks, inspecteer DESCRIBE DETAIL, verifieer de mirror principal, controleer objectselectie en support en onderzoek daarna endpoint freshness.

Security heeft vier grenzen

GrensBeheertRegel
Unity CatalogDatabricks discovery, table access en policiesGeef de mirror principal alleen vereiste privileges
Storage workspaceDirecte toegang tot managed-table filesHoud dedicated en beperkt
Mirror connectionFabrics credential voor catalog en data queriesGebruik bij voorkeur een dedicated service principal
Fabric / OneLakeDownstream Fabric accessDefinieer en test consumercontrols apart

Om het mirrored item te beveiligen:

  1. open Manage OneLake security;
  2. maak een Grant role met Read en Selected data;
  3. voeg de bedoelde Entra group toe;
  4. geef consumers Viewer- of item-level Read;
  5. inspecteer DefaultReader; en
  6. test met een non-admin identity.

Admins, Members en Contributors hebben al datatoegang. Unity Catalog row filters, column masks en ABAC policies worden niet naar Fabric doorgegeven. Definieer equivalente Fabric-controls en houd beide policysets gelijk.

Limieten

Conclusie

Het robuuste patroon is asymmetrisch: Databricks schrijft en governt, OneLake slaat de bytes op en Fabric mirrort metadata en past downstream permissions toe. Het operationele werk is de storage workspace beperken, EXTERNAL USE SCHEMA verlenen, rekening houden met asynchrone zichtbaarheid en Unity Catalog en OneLake als aparte policy planes behandelen.

Gezaghebbende bronnen

  1. Azure Databricks verbinden met een OneLake external location
  2. Een Azure Databricks Storage-item maken
  3. Microsoft Fabric met Azure Databricks
  4. Een Mirrored Azure Databricks Catalog configureren
  5. Azure Databricks Unity Catalog mirroren
  6. Mirrored Azure Databricks-data beveiligen in Fabric
  7. Beperkingen van Mirrored Azure Databricks catalog
  8. FAQ over Mirrored Azure Databricks catalog
  9. External data access tot Unity Catalog inschakelen
  10. Hoe OneLake security datatoegang beheert
  11. OneLake security roles maken en beheren
  12. Metadata sync van het SQL analytics endpoint

Deel deze post:

Lees verder

Vorige post
Kan GitHub Copilot FUAM deployen vanuit één prompt?
Volgende post
Een Microsoft Fabric App bouwen en deployen met Rayfin
Community

Praat mee

Meld je aan met GitHub om een reactie achter te laten.

GitHub

Reacties laden…

Meld je aan met GitHub om te reageren