Share via


Mi az a Lakehouse Federation?

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

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 állíthat be Lakehouse Federation-kapcsolatokat, és hogyan hozhat létre külföldi katalógusokat a Unity Catalog metaadattárában.

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. Írásvédett kapcsolatokat konfigurálhat népszerű adatbázis-megoldásokhoz a Pro SQL Warehousesban, a kiszolgáló nélküli SQL Warehousesban és a Databricks Futtatókörnyezeti fürtökben található illesztőprogramok használatával. A Unity Catalog adatszabályozási és adatleágazási eszközei biztosítják, hogy az adathozzáférés kezelése és naplózása a felhasználók által az Azure Databricks-munkaterületeken végzett összes összevont lekérdezés esetében történjen.

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 számos éles adatrendszerrel rendelkezhet, és több okból is érdemes lehet adatokat lekérdezni 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 az adatszabályozásnak az 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 kapcsolat, egy biztonságos objektum a Unity Katalógusban, amely megadja a külső adatbázis-rendszer eléréséhez szükséges elérési utat és hitelesítő adatokat.
  • Egy külső katalógus, egy biztonságos objektum a Unity Katalógusban, 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 kezelje a hozzáférést a Unity Catalog használatával.

Támogatott adatforrások

A Lakehouse Federation a következő adatbázistípusokkal támogatja a kapcsolatokat:

Csatlakozás ion-követelmények

Munkaterületre vonatkozó követelmények:

  • A Unity Cataloghoz engedélyezett munkaterület.

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

  • Hálózati kapcsolat a Databricks Runtime-fürtből vagy az SQL Warehouse-ból a céladatbázis-rendszerekhez. Lásd a Lakehouse Federation hálózatkezelési ajánlásait.
  • Az Azure Databricks-fürtöknek a Databricks Runtime 13.3 LTS vagy újabb verzióját kell használniuk, valamint megosztott vagy egyfelhasználós hozzáférési módot kell használniuk.
  • Az SQL-raktáraknak Pro vagy Kiszolgáló nélkülinek kell lenniük.

Szükséges engedélyek:

  • Kapcsolat létrehozásához metaadattár-rendszergazdának vagy felhasználónak kell lennie a CREATE CONNECTION munkaterülethez csatolt Unity Catalog metaadattára jogosultsággal.
  • Külföldi katalógus létrehozásához rendelkeznie kell a CREATE CATALOG metaadattár engedélyével, és vagy a kapcsolat tulajdonosának kell lennie, vagy jogosultsággal kell rendelkeznie CREATE FOREIGN CATALOG a kapcsolaton.

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

Kapcsolat létrehozása

A kapcsolat megadja a külső adatbázisrendszer eléréséhez szükséges elérési utat és hitelesítő adatokat. Kapcsolat létrehozásához használhatja a Catalog Explorert vagy az CREATE CONNECTION SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

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

Katalóguskezelő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKatalógus ikon.

  2. A bal oldali panelen bontsa ki a Külső adatok menüt, és válassza a Csatlakozás ions lehetőséget.

  3. Kattintson a Kapcsolat létrehozása elemre.

  4. Adjon meg egy felhasználóbarát Csatlakozás ion nevet.

  5. Válassza ki a Csatlakozás ion típust (adatbázis-szolgáltató, például MySQL vagy PostgreSQL).

  6. Adja meg a kapcsolat tulajdonságait (például a gazdagép adatait, az elérési utat és a hozzáférési hitelesítő adatokat).

    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ékben található.

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

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

  9. Kattintson a Létrehozás gombra.

Sql

Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben. Ez a példa egy PostgreSQL-adatbázishoz való kapcsolatokra mutat. A lehetőségek kapcsolattípusonként eltérőek. Tekintse meg a kapcsolattípusról szóló cikket, amely a bal oldali tartalomjegyzékben található.

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

Javasoljuk, hogy az Azure Databricks titkos kulcsait használja egyszerű szöveges sztringek helyett olyan bizalmas értékekhez, mint a hitelesítő adatok. 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ő kapcsolatok kezeléséről további információt a Lakehouse-összevonás kapcsolatainak kezelése című témakörben talál.

Idegen katalógus létrehozása

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

Idegen katalógus létrehozásához használhatja a Catalog Explorert vagy az CREATE FOREIGN CATALOG SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

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

Katalóguskezelő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemreKatalógus ikon.

  2. Kattintson a Katalógus létrehozása gombra.

  3. Az Új katalógus létrehozása párbeszédpanelen adja meg a katalógus nevét, és válasszon egy idegen típust.

  4. Válassza ki a unitykatalógusként tükrözni kívánt adatbázishoz hozzáférést biztosító Csatlakozás.

  5. Adja meg annak az adatbázisnak a nevét, amelyet katalógusként szeretne tükrözni.

    A követelmények az adatforrástól függően eltérőek:

    • A MySQL kétrétegű névteret használ, ezért nem igényel adatbázisnevet.
    • Ha egy másik Databricks-munkaterületen lévő katalógushoz szeretne kapcsolatot létesíteni, adja meg a Databricks-katalógus nevét adatbázisnév helyett.
  6. Kattintson a Létrehozás gombra.

Sql

  1. Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy a Databricks SQL-szerkesztőben. A szögletes zárójelek nem kötelezőek. Cserélje le a helyőrző értékeket:

    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (database '<database-name>');
    

A külföldi katalógusok kezelésével és kezelésével kapcsolatos információkért lásd a külföldi katalógusok kezelését és használatát ismertető témakört.

Lakehouse összevonás és materializált nézetek

A Databricks azt javasolja, hogy a Databricks a Lakehouse Federation használatával töltse be a külső adatokat a materializált nézetek létrehozásakor. Lásd: Materializált nézetek használata 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;

Korlátozások

  • A lekérdezések írásvédettek.

  • A kapcsolatok szabályozását a Databricks SQL egyidejű lekérdezési korlátja határozza meg. Kapcsolatonként nincs korlát 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 Katalógusban érvénytelen nevű táblák és sémák nem támogatottak, és a Unity Catalog figyelmen kívül hagyja őket egy idegen katalógus létrehozásakor. Az elnevezési szabályok és korlátozások listáját a Unity Catalog korlátozásai között találja.

  • A rendszer kisbetűssé alakítja a táblázatneveket és a sémaneveket a Unity Katalógusban. A kereséseknek kisbetűs neveket is használniuk kell. Ha vannak ismétlődő kisbetűs neveket tartalmazó táblák vagy sémák, a rendszer csak az egyik táblát vagy sémát importálja az idegen katalógusba.

  • Minden hivatkozott idegen tábla esetében az Azure Databricks ütemez egy alqueryt a távoli rendszerben, hogy visszaadja az adott táblából származó adatok egy részhalmazát, majd visszaadja az eredményt egy Azure Databricks-végrehajtói feladatnak egyetlen streamen keresztül.

  • Az egyfelhasználós hozzáférési mód csak a kapcsolattal rendelkező felhasználók számára érhető el.

  • A Lakehouse Federation nem tudja összevonni az Azure Synapse-kapcsolatok vagy Redshift-kapcsolatok kis- és nagybetűkre érzékeny azonosítóit tartalmazó idegen táblákat.