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


Ö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, 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.

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ő

  1. Az Azure Databricks-munkaterületen kattintson Katalógus ikonraKatalógus.

  2. A Katalógus panel tetején kattintson a Hozzáadás vagy plusz ikonra 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.

  3. A Kapcsolat alapjaiKapcsolat beállítása varázsló lapján adjon meg egy felhasználóbarát kapcsolatnevet.

  4. Válasszon Databrickskapcsolattípusát.

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

  6. Kattintson a Továbbgombra.

  7. 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.
  8. Kattintson a Kapcsolat létrehozásaelemre.

  9. 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.

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

  11. Kattintson a Katalógus létrehozásaparancsra.

  12. 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.

  13. 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.

  14. Adjon jogosultságokat a katalógushoz. Kattintson a elemre:

    1. 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.
    2. 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 és modify jogosultságokat biztosítson a katalógus objektumaihoz.
      • Jelölje ki manuálisan a megadni kívánt jogosultságokat.
    3. Kattintson a megadása gombra.
  15. Kattintson a Továbbgombra.

  16. 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.

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

  18. 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ő

  1. Az Azure Databricks-munkaterületen kattintson Katalógus ikonraKatalógus a Catalog Explorer megnyitásához.

  2. A Katalógus panel tetején kattintson a Hozzáadás vagy plusz ikonra 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.

  3. 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