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:
- MySQL
- PostgreSQL
- Amazon Redshift
- Snowflake
- Microsoft SQL Server
- Azure Synapse (SQL Data Warehouse)
- Google BigQuery
- Databricks
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 rendelkeznieCREATE 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ő
Az Azure Databricks-munkaterületen kattintson a Katalógus elemre.
A bal oldali panelen bontsa ki a Külső adatok menüt, és válassza a Csatlakozás ions lehetőséget.
Kattintson a Kapcsolat létrehozása elemre.
Adjon meg egy felhasználóbarát Csatlakozás ion nevet.
Válassza ki a Csatlakozás ion típust (adatbázis-szolgáltató, például MySQL vagy PostgreSQL).
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ó.
(Nem kötelező) Kattintson a Kapcsolat tesztelése elemre annak ellenőrzéséhez, hogy működik-e.
(Nem kötelező) Megjegyzés hozzáadása.
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ő
Az Azure Databricks-munkaterületen kattintson a Katalógus elemre.
Kattintson a Katalógus létrehozása gombra.
Az Új katalógus létrehozása párbeszédpanelen adja meg a katalógus nevét, és válasszon egy idegen típust.
Válassza ki a unitykatalógusként tükrözni kívánt adatbázishoz hozzáférést biztosító Csatlakozás.
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.
Kattintson a Létrehozás gombra.
Sql
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:
<catalog-name>
: A katalógus neve az Azure Databricksben.<connection-name>
: Az adatforrást, elérési utat és hozzáférési hitelesítő adatokat meghatározó kapcsolati objektum .<database-name>
: Annak az adatbázisnak a neve, amelyet katalógusként szeretne tükrözni az Azure Databricksben. A kétrétegű névteret használó MySQL-hez nem szükséges.<external-catalog-name>
: Csak Databricks-to-Databricks : A tükrözött külső Databricks-munkaterület katalógusának neve. Lásd: Idegen katalógus létrehozása.
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.