Co je Lakehouse Federation

Důležité

Tato funkce je ve verzi Public Preview.

V tomto článku se seznámíte s federační platformou Lakehouse, která umožňuje používat Azure Databricks ke spouštění dotazů na více externích zdrojů dat. Popisuje také, jak nastavit připojení Lakehouse Federation a vytvářet cizí katalogy v metastoru katalogu Unity.

Co je Lakehouse Federation?

Lakehouse Federation je platforma federace dotazů pro Azure Databricks. Federace dotazů termínů popisuje kolekci funkcí, které uživatelům a systémům umožňují spouštět dotazy na více zdrojů dat, aniž by bylo nutné migrovat všechna data do sjednoceného systému.

Azure Databricks ke správě federace dotazů používá katalog Unity. Nakonfigurujete připojení jen pro čtení k oblíbeným databázovým řešením pomocí ovladačů, které jsou součástí pro SQL Warehouse, bezserverové služby SQL Warehouse a clusterů Databricks Runtime. Nástroje pro zásady správného řízení dat a rodokmen dat v Unity zajišťují, že přístup k datům je spravovaný a auditovaný pro všechny federované dotazy provedené uživateli v pracovních prostorech Azure Databricks.

Proč používat Lakehouse Federation?

Lakehouse zdůrazňuje centrální úložiště dat, aby se snížila redundance a izolace dat. Vaše organizace může mít v produkčním prostředí mnoho datových systémů a můžete chtít dotazovat data v připojených systémech z několika důvodů:

  • Ad hoc generování sestav.
  • Testování konceptu.
  • Průzkumná fáze nových kanálů nebo sestav ETL.
  • Podpora úloh během přírůstkové migrace

V každém z těchto scénářů vám federace dotazů umožní rychleji získat přehledy, protože se můžete dotazovat na data na místě a vyhnout se složitému a časově náročnému zpracování ETL.

Lakehouse Federation je určená pro případy použití v případech, kdy:

  • Nechcete ingestovat data do Azure Databricks.
  • Chcete, aby vaše dotazy využívaly výpočetní prostředky v externím databázovém systému.
  • Chcete mít výhody rozhraní katalogu Unity a zásad správného řízení dat, včetně jemně odstupňovaného řízení přístupu, rodokmenu dat a vyhledávání.

Přehled nastavení federace Lakehouse

Pokud chcete datovou sadu zpřístupnit pro dotazování jen pro čtení pomocí federace Lakehouse, vytvořte následující:

  • Připojení, zabezpečitelný objekt v katalogu Unity, který určuje cestu a přihlašovací údaje pro přístup k externímu databázovému systému.
  • Cizí katalog, zabezpečitelný objekt v katalogu Unity, který zrcadlí databázi v externím datovém systému, umožňuje provádět dotazy jen pro čtení v daném datovém systému v pracovním prostoru Azure Databricks a spravovat přístup pomocí katalogu Unity.

Podporované zdroje dat

Lakehouse Federation podporuje připojení k následujícím typům databází:

požadavky na Připojení

Požadavky na pracovní prostor:

  • Pracovní prostor je povolený pro katalog Unity.

Požadavky na výpočetní prostředky:

  • Síťové připojení z clusteru Databricks Runtime nebo SQL Warehouse k cílovým databázovým systémům. Viz doporučení k sítím pro Federaci Lakehouse.
  • Clustery Azure Databricks musí používat Databricks Runtime 13.3 LTS nebo vyšší a sdílený nebo režim přístupu s jedním uživatelem.
  • Sql Warehouse musí být Verze Pro nebo Bezserverová.

Požadovaná oprávnění:

  • Pokud chcete vytvořit připojení, musíte být správcem metastoru nebo uživatelem s CREATE CONNECTION oprávněním k metastoru katalogu Unity připojenému k pracovnímu prostoru.
  • Chcete-li vytvořit cizí katalog, musíte mít CREATE CATALOG oprávnění k metastoru a být buď vlastníkem připojení, nebo mít CREATE FOREIGN CATALOG oprávnění k připojení.

Další požadavky na oprávnění jsou uvedeny v následující části založené na úlohách.

Vytvoření připojení

Připojení určuje cestu a přihlašovací údaje pro přístup k externímu databázovému systému. K vytvoření připojení můžete použít Průzkumníka katalogu nebo CREATE CONNECTION příkaz SQL v poznámkovém bloku Azure Databricks nebo v editoru dotazů SQL Databricks.

Požadovaná oprávnění: Správce metastoru nebo uživatel s oprávněním CREATE CONNECTION .

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona kataloguKatalog.

  2. V levém podokně rozbalte nabídku Externí data a vyberte Připojení ions.

  3. Klikněte na Vytvořit připojení.

  4. Zadejte uživatelsky přívětivý název Připojení ionu.

  5. Vyberte typ Připojení (poskytovatel databáze, například MySQL nebo PostgreSQL).

  6. Zadejte vlastnosti připojení (například informace o hostiteli, cestu a přihlašovací údaje pro přístup).

    Každý typ připojení vyžaduje jiné informace o připojení. Podívejte se na článek o typu připojení, který je uvedený v obsahu vlevo.

  7. (Volitelné) Kliknutím na test připojení potvrďte, že funguje.

  8. (Volitelné) Přidejte komentář.

  9. Klikněte na Vytvořit.

Sql

V poznámkovém bloku nebo editoru dotazů SQL Databricks spusťte následující příkaz. Tento příklad je určený pro připojení k databázi PostgreSQL. Možnosti se liší podle typu připojení. Podívejte se na článek o typu připojení, který je uvedený v obsahu vlevo.

CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

Doporučujeme používat tajné kódy Azure Databricks místo řetězců prostého textu pro citlivé hodnoty, jako jsou přihlašovací údaje. Příklad:

CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

Informace o nastavení tajných kódů najdete v tématu Správa tajných kódů.

Informace o správě existujících připojení najdete v tématu Správa připojení pro Federaci Lakehouse.

Vytvoření zahraničního katalogu

Cizí katalog zrcadlí databázi v externím datovém systému, abyste mohli dotazovat a spravovat přístup k datům v této databázi pomocí Azure Databricks a Unity Catalog. Chcete-li vytvořit cizí katalog, použijete připojení ke zdroji dat, který již byl definován.

Pokud chcete vytvořit cizí katalog, můžete použít Průzkumníka katalogu nebo CREATE FOREIGN CATALOG příkaz SQL v poznámkovém bloku Azure Databricks nebo editoru dotazů SQL Databricks.

Požadovaná oprávnění:CREATE CATALOG oprávnění k metastoru a vlastnictví připojení nebo CREATE FOREIGN CATALOG oprávnění k připojení.

Průzkumník katalogu

  1. V pracovním prostoru Azure Databricks klikněte na Ikona kataloguKatalog.

  2. Klikněte na tlačítko Vytvořit katalog .

  3. V dialogovém okně Vytvořit nový katalog zadejte název katalogu a vyberte typ cizího zboží.

  4. Vyberte Připojení ion, který poskytuje přístup k databázi, kterou chcete zrcadlit jako katalog Unity.

  5. Zadejte název databáze , kterou chcete zrcadlit jako katalog.

    Požadavky se liší v závislosti na zdroji dat:

    • MySQL používá dvouvrstvý obor názvů, a proto nevyžaduje název databáze.
    • Pro připojení k katalogu v jiném pracovním prostoru Databricks zadejte místo názvu databáze název katalogu Databricks.
  6. Klikněte na Vytvořit.

Sql

  1. V poznámkovém bloku nebo editoru 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>: Objekt připojení, který určuje zdroj dat, cestu a přihlašovací údaje pro přístup.
    • <database-name>: Název databáze, kterou chcete zrcadlit jako katalog v Azure Databricks. Nevyžaduje se pro MySQL, který používá dvouvrstvý obor názvů.
    • <external-catalog-name>: Pouze Databricks-to-Databricks : Název katalogu v externím pracovním prostoru Databricks, který zrcadlíte. Viz Vytvoření cizího katalogu.
    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (database '<database-name>');
    

Informace o správě a práci se zahraničními katalogy naleznete v tématu Správa a práce s cizími katalogy.

Federace Lakehouse a materializovaná zobrazení

Databricks při vytváření materializovaných zobrazení doporučuje načíst externí data pomocí federace Lakehouse. Viz Použití materializovaných zobrazení v Databricks SQL.

Když používáte Federaci Lakehouse, můžou uživatelé odkazovat na federovaná data následujícím způsobem:

CREATE MATERIALIZED VIEW xyz AS SELECT * FROM federated_catalog.federated_schema.federated_table;

Omezení

  • Dotazy jsou jen pro čtení.

  • Omezování připojení se určuje pomocí limitu souběžných dotazů SQL databricks. Počet skladů na připojení není nijak omezený. Viz Fronty a automatické škálování pro profesionály a klasické SQL Warehouse.

  • Tabulky a schémata s názvy, které jsou neplatné v katalogu Unity, nejsou podporovány a při vytváření cizího katalogu je katalog Unity ignoruje. Podívejte se na seznam pravidel a omezení pojmenování v omezeních katalogu Unity.

  • Názvy tabulek a názvy schémat se v katalogu Unity převedou na malá písmena. Vyhledávání musí také používat malá písmena. Pokud existují tabulky nebo schémata s duplicitními malými písmeny, importuje se do cizího katalogu pouze jedna z tabulek nebo schémat.

  • Pro každou cizí tabulku, na kterou odkazuje, Azure Databricks naplánuje ve vzdáleném systému poddotaz, který vrátí podmnožinu dat z této tabulky a pak vrátí výsledek do jedné úlohy exekutoru Azure Databricks přes jeden datový proud.

  • Režim přístupu s jedním uživatelem je k dispozici pouze pro uživatele, kteří připojení vlastní.

  • Lakehouse Federation nemůže federovat cizí tabulky s identifikátory rozlišující malá a velká písmena pro připojení Azure Synapse nebo připojení Redshift.