Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek ukazuje, jak číst data ve OneLake pomocí federace katalogu. To umožňuje, aby dotazy katalogu Unity běžely přímo v úložišti OneLake.
Federace OneLake umožňuje analyzovat data uložená ve službě Lakehouse nebo Warehouse, aniž byste je museli kopírovat, což přináší výkonné analytické funkce a funkce AI/BI v Azure Databricks přímo do vašich dat OneLake. Přístup k datům je jen pro čtení.
Než začnete
Pokud chcete spouštět federované dotazy na OneLake pomocí federace katalogu, musíte splnit následující požadavky:
Požadavky na pracovní prostor:
- Pracovní prostor aktivován pro katalog Unity.
Požadavky na výpočetní prostředky:
- Síťové připojení z vašeho výpočetního prostředku k cílovým databázovým systémům. Podívejte se na doporučení pro síťování pro Lakehouse Federation.
- Výpočetní prostředky Azure Databricks musí používat Databricks Runtime 18.0 nebo vyšší a standardní režim přístupu.
- Sql Warehouse musí používat verzi 2025.40 nebo vyšší.
Požadovaná oprávnění:
- Pokud chcete vytvořit připojení, musíte být správcem metastoru nebo uživatelem s oprávněními
CREATE CONNECTIONCREATE STORAGE CREDENTIALk metastoru katalogu Unity připojenému k pracovnímu prostoru. - Chcete-li vytvořit cizí katalog, musíte mít oprávnění
CREATE CATALOGk metastoru a být buď vlastníkem připojení, nebo mít oprávněníCREATE FOREIGN CATALOGpro připojení.
Další požadavky na oprávnění jsou uvedeny v následující části založené na úlohách.
- Musíte mít oprávnění k vytváření prostředků v Azure, konfiguraci přístupu v Fabric a správě Unity Catalog v Azure Databricks.
- Podporované metody ověřování:
- Spravovaná identita Azure prostřednictvím přístupového konektoru pro Azure Databricks
- Principál služby Azure
Nastavení tenanta a pracovního prostoru Fabric.
- Správce Fabric musí povolit nastavení tenanta Service principals mohou používat rozhraní Fabric API. To umožňuje, aby se spravované identity a služební identity autentizovaly pomocí platformy Fabric. Další informace najdete v tématu Nastavení tenanta služebního principála.
- Správce Fabric musí povolit nastavení tenanta Umožnit aplikacím spuštěným mimo Fabric přistupovat k datům prostřednictvím OneLake. Díky tomu se Azure Databricks může připojit k úložišti OneLake. Další informace najdete v tématu Povolení aplikacím spuštěným mimo Fabric přistupovat k datům přes OneLake.
- Správce Fabric musí povolit nastavení Užít krátkodobé tokeny SAS delegované uživatelem tenanta. Toto nastavení umožňuje OneLake vydávat krátkodobé tokeny SAS založené na Entra, které Azure Databricks používá ke čtení dat OneLake. Další informace najdete v tématu Sdílené přístupové podpisy OneLake.
- V pracovním prostoru Fabric, který obsahuje vaše data, musí být povoleno ověřování pomocí tokenů SAS delegovaných uživatelem OneLake. Pokud chcete toto nastavení povolit, přejděte do nastavení >>OneLake.
Podporovány jsou následující datové položky platformy Fabric:
- Fabric Lakehouse
- Fabric Warehouse
Nastavení federace katalogu
Následující kroky vás provedou vytvořením připojení a zahraničního katalogu pro federaci OneLake.
Krok 1: Nastavení ověřování Azure
Federace OneLake podporuje dvě metody ověřování.
- Spravovaná identita Azure (doporučeno): Používá přístupový konektor Databricks se spravovanou identitou.
- Principál služby Azure: Používá aplikaci Microsoft Entra ID s klientskými pověřeními. Tato metoda podporuje ověřování mezi tenanty, což umožňuje Databricks přístup k pracovním prostorům Fabric umístěným v jiném tenantovi Azure.
Možnost A: Vytvoření přístupového konektoru (spravovaná identita)
Přístupový konektor Databricks vytvoří spravovanou identitu, kterou Azure Databricks používá k ověřování pomocí OneLake.
Na webu Azure Portal vyhledejte a vytvořte nový přístupový konektor pro prostředek Azure Databricks .
Podle pokynů vytvořte konektor. Tento prostředek vytvoří spravovanou identitu přiřazenou systémem.
Zaznamenejte si ID prostředku nově vytvořeného konektoru. Toto ID potřebujete při vytváření přihlašovacích údajů úložiště katalogu Unity.
ID prostředku je ve formátu:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Další informace o vytváření přístupových konektorů a používání spravovaných identit najdete v tématu Použití spravovaných identit Azure v katalogu Unity pro přístup k úložišti.
Možnost B: Registrace aplikačního objektu
Pokud dáváte přednost použití aplikačního objektu místo spravované identity:
- Na webu Azure Portal přejděte kregistracím aplikací> a zaregistrujte novou aplikaci (nebo použijte existující aplikaci).
- Poznamenejte si ID aplikace (klienta) a ID adresáře (tenanta).
- V části Certifikáty a tajné kódy vytvořte nový tajný klíč klienta a poznamenejte si hodnotu tajného klíče.
Krok 2: Udělení oprávnění v prostředí Fabric
Udělte spravované identitě nebo služebnímu principálu oprávnění ke čtení dat Fabric.
- Na portálu Fabric přejděte do pracovního prostoru, který obsahuje datové položky Lakehouse nebo Warehouse.
- V pracovním prostoru klikněte na ikonu ozubeného kolečka nastavení pracovního prostoru a potom klikněte na Spravovat přístup.
- Klikněte na Přidat lidi nebo skupiny.
- Vyhledejte a vyberte spravovanou identitu nebo služební účet. U spravované identity by měl název odpovídat přístupovém konektoru, který jste vytvořili dříve. Pro představitele služby vyhledejte název aplikace, který jste zaregistrovali.
- Přiřaďte identitu minimálně členské roli. Můžete také přiřadit role Přispěvatel nebo Správce .
- Klikněte na tlačítko Přidat.
- Ověřte, že se identita zobrazí v přístupovém seznamu s příslušnou rolí. Oprávnění k jednotlivým položkám v Lakehouse a Warehouse se dědí z role definované na úrovni pracovního prostoru.
Krok 3: Vytvoření přihlašovacích údajů úložiště
V katalogu Unity vytvořte přihlašovací údaje úložiště, které odkazují na identitu, kterou jste nakonfigurovali v kroku 1.
- V pracovním prostoru Azure Databricks klikněte na
Katalog.
- V horní části podokna Katalog klikněte na
a v nabídce vyberte Vytvořit přihlašovací údaje.
Pokud používáte spravovanou identitu:
- V modálu Vytvořit nové přihlašovací údaje jako typ přihlašovacích údajů zvolte Spravovaná identita Azure.
- Jako název přihlašovacích údajů zadejte název přihlašovacích údajů úložiště (například
onelake_storage_cred). - Jako ID přístupového konektoru zadejte identifikátor prostředku toho přístupového konektoru, který jste vytvořili dříve.
- (Volitelné) Přidejte komentář.
- Klikněte na Vytvořit.
Pokud používáte instanční objekt:
Přihlašovací údaje úložiště instančního objektu nelze vytvořit pomocí Průzkumníka katalogu. Musíte být administrátorem účtu Azure Databricks a používat API pro správu přihlašovacích údajů úložiště. Například:
curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
"name": "<storage-credential-name>",
"read_only": true,
"azure_service_principal": {
"directory_id": "<directory-id>",
"application_id": "<application-id>",
"client_secret": "<client-secret>"
},
"skip_validation": "false"
}'
Pověření úložiště můžete také vytvořit pomocí poskytovatele Databricks Terraform a databricks_storage_credential.
Krok 4: Vytvořte připojení k katalogu Unity
Vytvořte připojení k Unity Catalog, které používá údaje pro úložiště k přístupu k OneLake.
Průzkumník katalogu
- V pracovním prostoru Azure Databricks klikněte na
Katalog.
- V horní části podokna Katalog klikněte na
plus a v nabídce vyberte Vytvořit připojení . - Na stránce Základy připojení zadejte název připojení (například
onelake_connection). - Vyberte typ připojeníOneLake.
- (Volitelné) Přidejte komentář.
- Klikněte na tlačítko Další.
- Na stránce Podrobnosti připojení pro přihlašovací údaje vyberte přihlašovací údaje úložiště, které jste vytvořili v předchozím kroku (například
onelake_storage_cred). - Pro pracovní prostor zadejte ID pracovního prostoru vašeho Fabric.
- Klikněte na Vytvořit připojení.
SQL
V poznámkovém bloku nebo editoru dotazů SQL Databricks spusťte následující příkaz. Nahraďte zástupné hodnoty:
-
<connection-name>: Název připojení. -
<workspace-id>: GUID vašeho pracovního prostoru OneLake. -
<storage-credential-name>: Název přihlašovacích údajů úložiště, které jste vytvořili v kroku 3.
CREATE CONNECTION <connection-name> TYPE onelake
OPTIONS (
workspace '<workspace-id>',
credential '<storage-credential-name>'
);
Krok 5: Vytvoření cizího katalogu
Cizí katalog propojuje konkrétní položku dat Fabric s katalogem v systému Unity Catalog.
Získejte ID datové položky Fabric
Na portálu Fabric přejděte do cílového lakehouse nebo skladu.
Zkopírujte ID datové položky, což je identifikátor GUID (například
f089354e-8366-4e18-aea3-4cb4a3a50b48).Tento identifikátor GUID najdete v uživatelském rozhraní Fabric nebo ho zkopírujete z adresy URL prohlížeče, když přejdete na Lakehouse nebo Warehouse:
https://app.fabric.microsoft.com/groups/<workspace-id>/lakehouses/<data-item-id>?experience=power-bi
Vytvoření katalogu
Průzkumník katalogu
- V pracovním prostoru Databricks klikněte na
Katalog.
- V horní části podokna Katalog klikněte na
plus a v nabídce vyberte Vytvořit katalog . - V dialogovém okně Vytvořit nový katalog zadejte název katalogu (například
fabric_sales). - Vyberte typzahraničního.
- Vyberte připojení , které jste vytvořili v kroku 4 (například
onelake_connection). - Jako položku Data zadejte ID datové položky, které jste zkopírovali z portálu Fabric.
- Jako typ položky vyberte typ, který odpovídá vaší datové položce z rozevíracího seznamu.
- (Volitelné) Kliknutím na test připojení ověřte konfiguraci.
- Klikněte na Vytvořit.
SQL
V poznámkovém bloku nebo editoru dotazů SQL Databricks spusťte následující příkaz SQL. Položky v závorkách jsou volitelné. Nahraďte zástupné hodnoty:
-
<catalog-name>: Název katalogu v Azure Databricks. -
<connection-name>: Připojení, které jste vytvořili v kroku 4. -
<data-item-id>: GUID je identifikátor Lakehouse nebo skladu Fabric. -
<item-type>:LakehouseneboWarehouse.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
data_item '<data-item-id>',
item_type '<item-type>'
);
Můžete také zadat následující volitelné parametry:
CREATE FOREIGN CATALOG <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
data_item '<data-item-id>',
item_type 'Lakehouse',
create_volume_for_lakehouse_files 'true'
);
-
create_volume_for_lakehouse_files:true(výchozí) nebofalse. Kdyžtruevytvoří svazek pro/Filessložku Lakehouse. Platí pouze pro položky Lakehouse. Viz přístup k nestrukturovaným datům.
Katalog se synchronizuje automaticky, čímž jsou tabulky Fabric dostupné okamžitě.
Přístup k nestrukturovaným datům
Federace OneLake podporuje přístup jen pro čtení k nestrukturovaným datům uloženým ve /Files složce Lakehouse. Toho dosáhnete prostřednictvím svazků katalogu Unity.
Při vytváření cizího katalogu, kdy je create_volume_for_lakehouse_files nastaveno na true (což je výchozí nastavení), se svazek automaticky vytvoří pod schématem onelake-folders. Tento svazek odkazuje na /Files složku Lakehouse a poskytuje přístup jen pro čtení k souborům uloženým tam.
Soubory můžete procházet a číst prostřednictvím cesty svazku:
LIST '/Volumes/<catalog-name>/onelake-folders/files/';
df = spark.read.format("binaryFile").load("/Volumes/<catalog-name>/onelake-folders/files/")
Strukturované soubory můžete dotazovat také přímo:
SELECT * FROM parquet.`/Volumes/<catalog-name>/onelake-folders/files/table.parquet`
Udělení oprávnění pro federované tabulky
Po nastavení federace katalogu musí mít uživatelé příslušná oprávnění katalogu Unity pro přístup k federovaným tabulkám:
- Všichni uživatelé potřebují oprávnění
USE CATALOGk katalogu a oprávněníUSE SCHEMAk schématu. - Uživatelé potřebují
SELECToprávnění ke čtení z federované tabulky.
Další informace o oprávněních katalogu Unity a o tom, jak je udělit, najdete v tématu Správa oprávnění v katalogu Unity.
Dotaz na data OneLake
Po dokončení instalace můžete vyhledat a dotazovat data OneLake v katalogu Unity.
Procházení katalogu
- V pracovním prostoru Databricks přejděte do Průzkumníka katalogu.
- Vyhledejte katalog, který jste vytvořili (například
fabric_sales). - Rozbalením katalogu zobrazíte synchronizovaná schémata a tabulky z Fabric Lakehouse nebo Warehouse.
Spouštění dotazů
Použijte zásady vytváření názvů tří částí (catalog.schema.table) v Databricks SQL nebo poznámkových blocích:
SELECT COUNT(*)
FROM fabric_sales.silver.customer_details;
SELECT
customer_id,
customer_name,
total_purchases
FROM fabric_sales.silver.customer_details
WHERE total_purchases > 1000
ORDER BY total_purchases DESC
LIMIT 10;
Omezení
Federace OneLake má následující omezení:
- Přístup jen pro čtení: Podporují se pouze SELECT dotazy. Operace zápisu nejsou k dispozici.
- Ověřování: Podporované metody ověřování jsou spravovaná identita Azure a služební principál Azure.
- Podporované datové položky: Podporují se pouze položky Fabric Lakehouse a Warehouse.
- Požadavky na výpočetní prostředky: Režim vyhrazeného přístupu se nepodporuje.
- Komplexní datové typy (pole, mapy, struktury) nejsou podporovány.
- Materializovaná zobrazení a běžná zobrazení nejsou podporována.
- Po vytvoření připojení nelze aktualizovat možnosti připojení (například
workspace). - Tabulky se sloupci, které se liší pouze pro případ (například
idaID) nejsou podporované.