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


Összevont lekérdezések futtatása a Microsoft Azure Synapse-on

Ez a cikk bemutatja, hogyan állíthatja be a Lakehouse Federationt az Azure Databricks által nem felügyelt Azure Synapse -adatok összevont lekérdezéseinek futtatására. Ha többet szeretne megtudni a Lakehouse Federation-ről, olvassa el a Mi az a Lakehouse Federation?

Ha Azure Synapse-adatbázishoz (SQL Data Warehouse) szeretne csatlakozni a Lakehouse Federation használatával, az alábbiakat kell létrehoznia az Azure Databricks Unity Catalog metaadattárában:

  • Kapcsolat az Azure Synapse (SQL Data Warehouse) adatbázissal.
  • Egy idegen katalógus, amely az Azure Synapse (SQL Data Warehouse) adatbázisát tükrözi a Unity Catalogban, így a Unity Catalog lekérdezési szintaxisával és adatszabályozási eszközeivel kezelheti az Azure Databricks-felhasználók adatbázishoz való hozzáférését.

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.

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 ikonravagy plusz ikonra, majd válassza a Kapcsolat hozzáadása parancsot 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 SQLDWkapcsolattípusát.

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

  6. Kattintson a Továbbgombra.

  7. A Hitelesítési lapon adja meg az Azure Synapse-példány következő kapcsolati tulajdonságait:

    • Gazdagép: Például sqldws-demo.database.windows.net.
    • Port: Például: 1433
    • Felhasználó
    • Jelszó
    • Megbízhatósági kiszolgálótanúsítvány: Ez alapértelmezés szerint ki van jelölve. Ha ki van választva, az átviteli réteg az SSL használatával titkosítja a csatornát, és megkerüli a tanúsítványláncot a megbízhatóság érvényesítéséhez. Hagyja ezt a beállítást az alapértelmezett értékre, hacsak nincs szükség a megbízhatósági ellenőrzés megkerülésére.
  8. Kattintson a Kapcsolat létrehozásaelemre.

  9. A Katalógus alapjai lapon adja meg a külföldi katalógus nevét. 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.

  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ásaelemre.

  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 lesz kezelni a katalógus összes objektumához való hozzáférést. Kezdje el beírni a főtényezőt a szövegmezőbe, majd kattintson a megjelenített eredmények között a főtényezőre.

  14. Adja meg a(z) jogosultságokat a katalógushoz. Kattintson a gombra aengedélyezéséhez:

    1. Adja meg azokat a szerepköröket, akik hozzáféréssel rendelkeznek a katalógus objektumaihoz. Kezdje el beírni a főtényezőt a szövegmezőbe, majd kattintson a megjelenített eredmények között a főtényezőre.
    2. Válassza ki a jogosultsági beállításokat, amelyeket az egyes alanyoknak kíván adni. 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.

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

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

Idegen 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ü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 a CREATE FOREIGN CATALOG SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy az 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 egy SQL-lekérdezésszerkesztő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.
  • : Az adatforrást, elérési utat és hozzáférési hitelesítő adatokat megadó kapcsolatobjektum.
  • <database-name>: Annak az adatbázisnak a neve, amelyet katalógusként szeretne tükrözni az Azure Databricksben.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');

Támogatott leküldéses leküldések

A következő leküldéses leküldések támogatottak:

  • Szűrők
  • Leképezések
  • Korlát
  • Összesítések (Átlag, Darabszám, Max, Min, StddevPop, StddevSamp, Sum, VarianceSamp)
  • Függvények (Számtani és egyéb egyéb függvények, például Alias, Cast, SortOrder)
  • Rendezés

A következő leküldéses leküldések nem támogatottak:

  • Összekapcsolások
  • Windows-függvények

Adattípus-leképezések

Amikor a Synapse/SQL Data Warehouse-ból a Sparkba olvas, az adattípusok az alábbiak szerint lesznek megfeleltetve:

Synapse-típus Spark-típus
decimális, pénz, numerikus, kismérték Decimális típus
smallint ShortType
tinyint ByteType
egész Egész számtípus
bigint LongType
valós szám FloatType
float DoubleType
char, nchar, ntext, nvarchar, text, uniqueidentifier, varchar, xml StringType
bináris, földrajzi hely, geometria, kép, időbélyeg, udt, varbinary BinaryType
bit Logikai típus
dátum: DateType
datetime, datetime, smalldatetime, time TimestampType/TimestampNTZType*

*Ha a Synapse/SQL Data Warehouse-ból (SQLDW) olvas, az SQLDW datetimes a Sparkra TimestampType van leképezve, ha preferTimestampNTZ = false (alapértelmezett). Az SQLDW datetimes a következőre van megfeleltetve: TimestampNTZType ha preferTimestampNTZ = true.