Megosztás a következőn keresztül:


Mi az a Lakehouse Federation?

Ez a cikk bemutatja a Lakehouse Federationt, a lekérdezés-összevonási platformot, amely lehetővé teszi, hogy az Azure Databricks használatával lekérdezéseket futtasson több külső adatforráson. Azt is ismerteti, hogyan set fel a Lakehouse Federation connections, és hogyan hozhat létre külföldi catalogs a Unity Catalog metaadattárban.

Mi az a Lakehouse Federation?

A Lakehouse Federation az Azure Databricks lekérdezés-összevonási platformja. A lekérdezési összevonás kifejezés olyan funkciók gyűjteményét írja le, amelyek lehetővé teszik a felhasználók és a rendszerek számára, hogy lekérdezéseket futtasson több adatforráson anélkül, hogy az összes adatot egységes rendszerbe kellene migrálniuk.

Az Azure Databricks a Unity Catalog használatával kezeli a lekérdezések összevonását. Az írásvédett connections a népszerű adatbázis-megoldásokhoz konfigurálhatja a pro SQL-raktárakban, kiszolgáló nélküli SQL-tárolókban és Databricks Runtime-fürtökben található illesztőprogramok használatával. A Unity Catalogadatszabályozási és adatleágazási eszközei biztosítják az adathozzáférés kezelését és naplózását az Azure Databricks-munkaterületek felhasználói által végrehajtott összes összevont lekérdezéshez.

Miért érdemes a Lakehouse Federationt használni?

A lakehouse hangsúlyozza az adatok központi tárolását az adatredundancia és az elkülönítés csökkentése érdekében. A szervezet különböző adatbázisrendszerek működtetésével rendelkezhet, és különböző okokból szeretné lekérdezni az adatokat a csatlakoztatott rendszerekben.

  • Alkalmi jelentéskészítés.
  • A koncepció igazolása.
  • Az új ETL-folyamatok vagy jelentések feltárási fázisa.
  • Számítási feladatok támogatása növekményes migrálás során.

Ezen forgatókönyvek mindegyikében a lekérdezések összevonásával gyorsabban juthat elemzésekhez, mivel lekérdezheti az adatokat a helyén, és elkerülheti az összetett és időigényes ETL-feldolgozást.

A Lakehouse Federation olyan használati esetekre szolgál, amikor:

  • Nem szeretne adatokat beszúrni az Azure Databricksbe.
  • Azt szeretné, hogy a lekérdezések kihasználják a számítás előnyeit a külső adatbázisrendszerben.
  • Szeretné kihasználni a Unity Catalog felületeinek és adatszabályozásának előnyeit, beleértve a részletes hozzáférés-vezérlést, az adatkisorolást és a keresést.

A Lakehouse Összevonás beállításának áttekintése

Ha elérhetővé szeretne tenni egy adathalmazt írásvédett lekérdezéshez a Lakehouse Federation használatával, hozza létre a következőket:

  • Egy kapcsolati, egy Unity Catalog-hoz tartozó biztosítható objektum, amely meghatározza a külső adatbázisrendszer elérésének elérési útját és credentials.
  • Egy külső catalog, amely a Unity Catalog-ban egy biztonságos objektum, amely egy külső adatrendszer adatbázisát tükrözi, lehetővé téve, hogy írásvédett lekérdezéseket hajtson végre az adott adatrendszeren az Azure Databricks-munkaterületen, és a Unity Catalogsegítségével kezelheti a hozzáférést.

Támogatott adatforrások

A Lakehouse Federation a következő adatbázistípusokhoz támogatja a connections:

Kapcsolatra vonatkozó követelmények

Munkaterületre vonatkozó követelmények:

  • A Unity Catalogszámára engedélyezett munkaterület.

Számítási követelmények:

  • Hálózati kapcsolat a számítási erőforrás és a céladatbázis-rendszerek között. Lásd a Lakehouse Federation hálózatkezelési ajánlásait.
  • Az Azure Databricks compute-nek a Databricks Runtime 13.3 LTS vagy újabb verzióját kell használnia, és megosztott vagy egyfelhasználós hozzáférési módot.
  • Az SQL-raktáraknak pro- vagy kiszolgáló nélkülinek kell lenniük, és a 2023.40-et vagy újabb verziót kell használniuk.

Szükséges engedélyek:

  • Kapcsolat létrehozásához metaadattár-rendszergazdának vagy a munkaterülethez csatolt Unity CREATE CONNECTION metaadattár Catalog jogosultsággal rendelkező felhasználónak kell lennie.
  • Ha egy idegen catalog-t szeretne létrehozni, rendelkeznie kell a metaadattár CREATE CATALOG engedéllyel, és vagy a kapcsolat tulajdonosának kell lennie, vagy CREATE FOREIGN CATALOG jogosultsággal kell rendelkeznie a kapcsolaton.

Az alábbi tevékenységalapú szakaszokban további engedélykövetelmények vannak megadva.

Kapcsolat létrehozása

A kapcsolat egy elérési utat és credentials-t ad meg a külső adatbázisrendszer eléréséhez. Kapcsolat létrehozásához használhatja a Catalog Explorert vagy a CREATE CONNECTION SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

Feljegyzés

A Databricks REST API-val vagy a Databricks parancssori felülettel is létrehozhat kapcsolatot. Lásd: POST /api/2.1/unity-catalog/connections és Unity Catalog parancsok.

Szükséges engedélyek: Metaadattár-rendszergazda vagy jogosultsággal CREATE CONNECTION rendelkező felhasználó.

Catalog Explorer

  1. Az Azure Databricks-munkaterületen kattintson Catalog ikonraCatalog.

  2. A Catalog panel tetején kattintson a Hozzáadás vagy plusz ikonra hozzáadása ikonra, és selectKapcsolat hozzáadása a menüből.

    Másik lehetőségként a Gyorselérési lapon kattintson a Külső adatok > gombra, lépjen a Connections fülre, és kattintson a Kapcsolat létrehozásagombra.

  3. Adjon meg egy felhasználóbarát kapcsolatnevet.

  4. Select kapcsolattípus (adatbázis-szolgáltató, például MySQL vagy PostgreSQL).

  5. (Nem kötelező) Megjegyzés hozzáadása.

  6. Kattintson a Továbbgombra.

  7. Adja meg a kapcsolat tulajdonságait (például gazdagépadatokat, útvonalat és hozzáférési credentials).

    Minden kapcsolattípushoz eltérő kapcsolati információ szükséges. Tekintse meg a kapcsolattípusról szóló cikket, amely a bal oldali tartalomjegyzék table pontjában szerepel.

  8. Kattintson a Kapcsolat létrehozásaelemre.

  9. Adja meg az idegen catalognevét.

  10. (Nem kötelező) Kattintson a Kapcsolat tesztelése elemre annak ellenőrzéséhez, hogy működik-e.

  11. Kattintson a cataloglétrehozása gombra.

  12. Select azok a munkaterületek, amelyeken a felhasználók hozzáférhetnek az általad létrehozott catalog-hez. select Minden munkaterület rendelkezik hozzáféréssel, vagy kattintson a Hozzárendelés munkaterületekhezgombra, select a munkaterületekre, majd kattintson a Hozzárendelésgombra.

  13. Módosítsa a tulajdonosát-re, aki képes lesz kezelni az összes objektumhoz való hozzáférést a catalogterületen. Kezdje el beírni a nevet a szövegmezőbe, majd kattintson a találatok között a megfelelő névre.

  14. Grant Jogosultságok esetén catalog. Kattintson a Grant:

    1. Adja meg azokat a felelős személyeket, akik hozzáférhetnek az catalogobjektumaihoz. Kezdje el beírni a nevet a szövegmezőbe, majd kattintson a találatok között a megfelelő névre.
    2. Select a Privilege előbeállításai minden egyes alanyhoz grant. Alapértelmezés szerint minden fiókfelhasználó BROWSE kap.
      • Select Data Reader a legördülő menüből az grantread jogosultságokat adjon az catalogobjektumaihoz.
      • Select Data Editor a legördülő menüből a grantobjektumainak readmodify és catalog jogosultságaihoz.
      • Manuálisan rendelje hozzá a jogosultságokat a(z) select-hez grant.
    3. Kattintson a Grantgombra.
    4. Kattintson a Továbbgombra.
    5. A Metaadatok lapon adja meg a címkék kulcs-érték párjait. További információ: Címkék alkalmazása a Unity Catalog biztonságos objektumokra.
    6. (Nem kötelező) Megjegyzés hozzáadása.
    7. Kattintson a Mentésgombra.

SQL

Futtassa a következő parancsot egy jegyzetfüzetben vagy az SQL-lekérdezésszerkesztőben. Ez a példa a connections elemre egy PostgreSQL adatbázisban. A lehetőségek kapcsolattípusonként eltérőek. Tekintse meg a kapcsolattípusról szóló cikket, amely a bal oldali tartalomjegyzék table pontjában szerepel.

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

Javasoljuk, hogy az Azure Databricks titkos kódokat használjon egyszerű szöveges sztringek helyett olyan bizalmas values, mint credentials. Példa:

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>')
)

A titkos kódok beállításáról további információt a Titkos kódok kezelése című témakörben talál.

A meglévő connectionskezelésével kapcsolatos információkért lásd: connections kezelése a Lakehouse Federation.

Külső catalog létrehozása

Feljegyzés

Ha a felhasználói felületen keresztül hoz létre kapcsolatot az adatforrással, akkor a catalog elem létrehozása is automatikusan megtörténik, így kihagyhatja ezt a lépést.

A külső catalog egy külső adatrendszer adatbázisát tükrözi, így az Azure Databricks és a Unity Cataloghasználatával lekérdezheti és kezelheti az adatbázisban levő adatokhoz való hozzáférést. Külső cataloglétrehozásához a már definiált adatforráshoz való kapcsolatot kell használnia.

Idegen cataloglétrehozásához használhatja Catalog Explorert vagy az CREATE FOREIGN CATALOG SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy az SQL-lekérdezésszerkesztőben. Használhatja a Unity Catalog API-t is. Lásd az Azure Databricks referenciadokumentációját.

A külső catalog metaadatok szinkronizálódnak a Unity Catalog a catalog-vel történő minden interakciónál. A Unity és az adatforrás közötti adattípus-leképezéshez tekintse meg az egyes adatforrások dokumentációjának adattípus-leképezések szakaszát.

Szükséges engedélyek:CREATE CATALOG a metaadattár engedélye, illetve a kapcsolat tulajdonjoga vagy a CREATE FOREIGN CATALOG kapcsolat jogosultsága.

Catalog Explorer

  1. Az Azure Databricks-munkaterületen kattintson CatalogCatalog ikonra Catalog Explorer megnyitásához.

  2. A Catalog panel tetején kattintson a Hozzáadás vagy plusz ikonra hozzáadása ikonra, és selectcatalog hozzáadása a menüből.

    Másik lehetőségként a Gyorselérési-oldal lapon kattintson a Catalogs gombra, majd kattintson a Create catalog gombra.

  3. Kövesse az idegen catalogs létrehozására vonatkozó utasításokat a Létrehoz catalogscímű témakörben.

SQL

Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy az SQL-lekérdezésszerkesztőben. A szögletes zárójelek nem kötelezőek. Cserélje le a helyőrzőt values:

  • <catalog-name>: Az Azure Databricks catalog neve.
  • <connection-name>: A kapcsolat-objektum, amely az adatforrást, elérési utat és hozzáférést határozza meg credentials.
  • <database-name>: Annak az adatbázisnak a neve, amelyet catalog szeretne tükrözni az Azure Databricksben. A kétrétegű névteret használó MySQL-hez nem szükséges.
  • : csak a Databricks-to-Databricks : A tükrözni kívánt külső Databricks-munkaterület neve. Lásd: Külső cataloglétrehozása.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');

A külföldi catalogskezelésével és munkavégzésével kapcsolatos információkért lásd: Külföldi catalogskezelése és munkavégzése.

Lakehouse Federation és materializált views

A Databricks azt javasolja, hogy a Lakehouse Federation használatával töltsön be külső adatokat a materializált viewslétrehozásakor. Lásd a anyagosított views használatát a Databricks SQL-ben.

A Lakehouse Federation használatakor a felhasználók az alábbiak szerint hivatkozhatnak az összevont adatokra:

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

Rendszer által létrehozott összevont lekérdezések megtekintése

A Lakehouse Federation a Databricks SQL-utasításokat lefordítja az összevont adatforrásba leküldhető utasításokra. A létrehozott SQL-utasítás megtekintéséhez kattintson a lekérdezésprofilgráfnézetében található idegen adatforrás-vizsgálati csomópontra, vagy futtassa a EXPLAIN FORMATTED SQL-utasítást. A lefedettséggel kapcsolatban tekintse meg az adatforrások dokumentációjának támogatott leküldéses szakaszát.

Korlátozások

  • A lekérdezések írásvédettek.
  • A connections korlátozása a Databricks SQL egyidejű lekérdezés limithasználatával történik. Nincs limit kapcsolatonként a raktárak között. Tekintse meg a pro- és klasszikus SQL-raktárak várólistázását és automatikus skálázását.
  • A Unity Tables érvénytelen neveket tartalmazó Catalog és sémákat nem támogatja a Unity Catalog egy idegen cataloglétrehozásakor. Lásd az elnevezési szabályok és korlátozások list a Korlátozások részben.
  • Table nevek és schema nevek kisbetűssé válnak a Unity Catalog-ben. A kereséseknek kisbetűs neveket is használniuk kell. Ha vannak ugyanazokat a kisbetűs neveket viselő tables vagy sémák, csak az egyik tables vagy séma kerül importálásra az idegen catalog-be.
  • Minden hivatkozott külföldi table esetében az Azure Databricks ütemez egy alkérdést a távoli rendszerben, hogy az adott table egy részhalmazát visszaadja, majd az eredményt egyetlen adatfolyamon keresztül visszaküldi egy Azure Databricks-végrehajtói feladatnak. Ha az eredmény set túl nagy, előfordulhat, hogy a végrehajtó kifogy a memóriából.
  • Az egyfelhasználós hozzáférési mód csak a kapcsolatot birtoklő felhasználók számára érhető el.
  • A Lakehouse Federation nem tudja összevonni a külső tables az Azure Synapse connections vagy Redshift connectionskis- és nagybetűkre érzékeny azonosítóival.

Erőforráskvóták

Az Azure Databricks erőforráskvótákat kényszerít ki az összes Unity Catalog biztonságos objektumra. Ezek a kvóták az erőforráskorlátokban vannak felsorolva. Az idegen catalogs és az összes bennük lévő objektum szerepel a teljes kvótahasználatban.

Ha várhatóan túllépi ezeket az erőforráskorlátokat, forduljon az Azure Databricks-fiók csapatához.

A kvótahasználatot a Unity Catalog erőforráskvóta API-kkal figyelheti. Lásd: A Unity Catalog erőforráskvóták használatának figyelése.

További erőforrások