Összevont lekérdezések futtatása egy másik Databricks-munkaterületen
Ez a cikk bemutatja, hogyan állíthatja be a Lakehouse Federationt, hogy összevont lekérdezéseket futtasson a Databricks-adatokon egy másik Databricks-munkaterületen. Ha többet szeretne megtudni a Lakehouse Federation-ről, olvassa el a Mi az a Lakehouse Federation?
Fontos
A Databricks-to-Databricks Lakehouse Federation egy jó eszköz arra, hogy lekérdezéseket futtasson egy másik Databricks-munkaterület Hive- vagy AWS Glue-metaadattára által kezelt adatokon. A legtöbb más forgatókönyv esetében a többi Azure Databricks-munkafolyamat hatékonyabb:
- Ha az Azure Databricks-munkaterületek ugyanazt a Unity Catalog-metaadattárat használják, a munkaterületek közötti lekérdezéseket szabványos Unity Catalog-lekérdezésekkel és adatszabályozási eszközökkel kezelheti.
- Ha írásvédett hozzáférést szeretne egy másik Unity Catalog-metaadattárhoz csatolt Databricks-munkaterület adataihoz, függetlenül attól, hogy az Azure Databricks-fiókjában van-e vagy sem, a Delta Sharing jobb választás.
Ezen forgatókönyvek egyikében sincs szükség a Lakehouse Federation beállítására.
Ha egy Másik munkaterületen lévő Databricks-katalógushoz szeretne csatlakozni a Lakehouse Federation használatával, az alábbiakat kell létrehoznia az Azure Databricks Unity Catalog metaadattárában:
- Fürt vagy SQL-raktár egy Databricks-munkaterületen.
- Kapcsolat a fürthöz vagy az SQL Warehouse-hoz.
- Egy idegen katalógus a Unity Catalog metaadattárában, amely a fürtből vagy az SQL Warehouse-ból elérhető többi Databricks-katalógust tükrözi, így a Unity Catalog lekérdezési szintaxisával és adatszabályozási eszközeivel kezelheti az Azure Databricks felhasználói hozzáférését az adatokhoz.
Mielőtt elkezdené
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 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
CREATE CONNECTION
jogosultsággal rendelkező felhasználónak kell lennie a munkaterülethez csatolt Unity Catalog metaadattárban. - Külföldi katalógus létrehozásához rendelkeznie kell a metaadattár
CREATE CATALOG
engedélyével, és vagy a kapcsolat tulajdonosának kell lennie, vagyCREATE FOREIGN CATALOG
jogosultsággal kell rendelkeznie a kapcsolaton.
Az alábbi tevékenységalapú szakaszokban további engedélykövetelmények vannak megadva.
A kapcsolat konfigurálásához aktív fürtnek vagy SQL Warehouse-nak is rendelkeznie kell az Azure Databricks-munkaterületen.
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 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ó.
Katalóguskezelő
Az Azure Databricks-munkaterületen kattintson
Katalógus.
A Katalógus panel tetején kattintson a
hozzáadása ikonra, majd válassza a Kapcsolat hozzáadása lehetőséget a menüből.
Másik lehetőségként a Gyorselérési lapon kattintson a Külső adatok > gombra, nyissa meg a Kapcsolatok lapot, majd kattintson a Kapcsolat létrehozásagombra.
A Kapcsolat alapjaiKapcsolat beállítása varázsló lapján adjon meg egy felhasználóbarát kapcsolatnevet.
Válasszon Databrickskapcsolattípusát.
(Nem kötelező) Megjegyzés hozzáadása.
Kattintson a Továbbgombra.
A Hitelesítési lapon adja meg a többi Databricks-példány kapcsolati tulajdonságait:
- Gazdagép: Munkaterület-példány neve. A munkaterület-példány nevének lekéréséhez lásd a „Munkaterület-objektumok azonosítóinak lekérése” című szakaszt.
- Személyes hozzáférési jogkivonat: Egy Azure Databricks személyes hozzáférési jogkivonat, amely lehetővé teszi a cél-munkaterülethez való hozzáférést. A token beszerzésének módjáról az Azure Databricks személyes hozzáférési token-hitelesítés . Kapcsolatok esetén a Databricks személyes hozzáférési tokent javasol egy szolgáltatási főfelhasználó számára.
- HTTP-elérési út: Az SQL Warehouse HTTP-elérési útja. Az elérési út lekéréséhez nyissa meg SQL > SQL Warehouses oldalsávon, jelölje ki az SQL Warehouse-t, lépjen a Kapcsolat részletei lapra, és másolja HTTP-elérési útértékét.
Kattintson a Kapcsolat létrehozásaelemre.
A Katalógus alapjai lapon adja meg a katalógus nevét egy másik Azure Databricks-munkaterületen, amely leképezhető a metaadattár egyik katalógusobjektumára.
(Nem kötelező) Kattintson a Kapcsolat tesztelése elemre annak ellenőrzéséhez, hogy működik-e.
Kattintson a Katalógus létrehozásaparancsra.
Az Access lapon válassza ki azokat a munkaterületeket, amelyeken a felhasználók hozzáférhetnek a létrehozott katalógushoz. Kiválaszthatja Minden munkaterület rendelkezik hozzáféréssel, vagy kattintson a Hozzárendelés munkaterületekhezelemre, jelölje ki a munkaterületeket, majd kattintson hozzárendelése gombra.
Módosítsa a tulajdonost, aki képes kezelni a katalógus összes objektumához való hozzáférést. Kezdje el beírni a főelemet a szövegmezőbe, majd kattintson a visszaadott eredmények között a főelemre.
Adjon jogosultságokat a katalógushoz. Kattintson a elemre:
- Adja meg azokat a felelős személyeket, akik hozzáférhetnek a katalógusban lévő objektumokhoz. Kezdje el beírni a főelemet a szövegmezőbe, majd kattintson a visszaadott eredmények között a főelemre.
- Válassza ki a jogosultsági beállításokat, az egyes tagoknak való engedélyezéshez. Alapértelmezés szerint minden fiókfelhasználó
BROWSE
kap.- A legördülő menüben válassza Adatolvasó lehetőséget, hogy
read
jogosultságokat biztosítson a katalógus objektumaihoz. - A legördülő menüben válassza Adatszerkesztő lehetőséget, hogy
read
ésmodify
jogosultságokat biztosítson a katalógus objektumaihoz. - Jelölje ki manuálisan a megadni kívánt jogosultságokat.
- A legördülő menüben válassza Adatolvasó lehetőséget, hogy
- Kattintson a megadása gombra.
Kattintson a Továbbgombra.
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 objektumaira.
(Nem kötelező) Megjegyzés hozzáadása.
Kattintson a Mentésgombra.
SQL
Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben, és cserélje le a következőket:
-
<connection-name>
: A létrehozott kapcsolat felhasználóbarát neve. -
<workspace-instance>
: A cél-munkaterület példánya. A munkaterület-példány nevének lekéréséhez lásd a „Munkaterület-objektumok azonosítóinak lekérése” című szakaszt. -
<sql-warehouse-path>
: Az SQL Warehouse HTTP-elérési útja. Az elérési út lekéréséhez nyissa meg SQL > SQL Warehouses oldalsávon, jelölje ki az SQL Warehouse-t, lépjen a Kapcsolat részletei lapra, és másolja HTTP-elérési útértékét. -
<personal-access-token>
: Egy Azure Databricks személyes hozzáférési jogkivonat, amely lehetővé teszi a cél munkaterülethez való hozzáférést. A token beszerzésének módjáról az Azure Databricks személyes hozzáférési token-hitelesítés . Kapcsolatok esetén a Databricks azt javasolja, hogy használja a szolgáltatási fiók személyes hozzáférési tokenjét.
CREATE CONNECTION <connection-name> TYPE databricks
OPTIONS (
host '<workspace-instance>',
httpPath '<sql-warehouse-path>',
personalAccessToken '<personal-access-token>'
);
Javasoljuk, hogy az Azure Databricks titkos kulcsokat használjon egyszerű szöveges sztringek helyett olyan bizalmas értékekhez, mint a hitelesítő adatok. Példa:
CREATE CONNECTION <connection-name> TYPE databricks
OPTIONS (
host '<workspace-instance>',
httpPath '<sql-warehouse-path>',
personalAccessToken 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.
Külső katalógus létrehozása
Feljegyzés
Ha a felhasználói felülettel hoz létre kapcsolatot az adatforrással, a rendszer külföldi katalóguslétrehozásról is rendelkezik, és kihagyhatja ezt a lépést.
A külföldi katalógusok a külső Databricks-munkaterületen lévő katalógust tükrözik, így a külső Databricks-katalógusban lévő adatokhoz való hozzáférést úgy kérdezheti le és kezelheti, mintha az a saját munkakörnyezetében lévő katalógus lenne. Külső katalógus létrehozásához a már definiált külső Databricks-munkaterülethez való kapcsolatot kell használnia.
Külföldi katalógus létrehozásához használhatja a Catalog Explorert vagy a CREATE FOREIGN CATALOG
SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben. Katalógus létrehozásához használhatja a Databricks REST API-t vagy a Databricks parancssori felületet is. Lásd POST /api/2.1/unity-catalog/catalogs és Unity Catalog parancsokat.
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
Katalógus a Catalog Explorer megnyitásához.
A Katalógus panel tetején kattintson a
hozzáadása ikonra, majd válassza Katalógus hozzáadása lehetőséget a menüből.
Másik lehetőségként a Gyorselérési lapon kattintson a Katalógusok gombra, majd a Katalógus létrehozása gombra.
Kövesse az utasításokat a külföldi katalógusok létrehozásához Katalógusok létrehozása.
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 létrehozott külföldi katalógus neve. : Az adatforrást, elérési utat és hozzáférési hitelesítő adatokat megadó kapcsolatobjektum. -
<external-catalog-name>
: A tükrözött külső Databricks-munkaterület katalógusának neve.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (catalog '<external-catalog-name>');
Támogatott leküldéses leküldések
A következő leküldéses leküldések támogatottak az összes számításhoz:
- Szűrők
- Leképezések
- Határ
- Függvények: csak a szűrőkifejezések támogatottak (sztringfüggvények, matematikai függvények, adatok, idő- és időbélyegfüggvények, valamint egyéb egyéb függvények, például Alias, Cast, SortOrder).
A Databricks Runtime 13.3 LTS és újabb verziója és az SQL Warehouse számítási verziója a következő leküldéses leküldéseket támogatja:
- Összesítések
- A következő logikai operátorok: =, <, = <, >, >=, <=>
- A következő matematikai függvények (nem támogatottak, ha az ANSI le van tiltva): +, -, *, %, /
- A következő egyéb operátorok: ^, |, ~
- Rendezés, amikor limitekkel használjuk
A következő leküldéses leküldések nem támogatottak:
- Összekapcsolások
- Windows-függvények