Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a lap bemutatja, hogyan állíthatja be a Lakehouse Federationt összevont lekérdezések futtatására olyan SQL Server-adatokon, amelyeket nem az Azure Databricks kezel. A Lakehouse Federation szolgáltatással kapcsolatos további információkért lásd a következőt: Kapcsolódás külső adatbázisokhoz és katalógusokhoz
Ha az SQL Server-adatbázishoz a Lakehouse Federation használatával szeretne csatlakozni, az alábbiakat kell létrehoznia az Azure Databricks Unity Catalog metaadattárában (a 2023. november 9. után létrehozott munkaterületeken már automatikusan ki van építve a Unity Catalog metaadattára):
- Kapcsolat az SQL Server-adatbázissal.
- Egy idegen katalógus, amely tükrözi az SQL Server-adatbázist 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 hozzáférését az adatbázishoz.
A Lakehouse Federation támogatja az SQL Servert, az Azure SQL Database-t és a felügyelt Azure SQL-példányt.
Mielőtt elkezdené
Munkaterületre vonatkozó követelmények:
- A Unity Cataloghoz engedélyezett munkaterület. A 2023. november 9. után létrehozott munkaterületek automatikusan engedélyezve vannak a Unity Katalógusban, beleértve az automatikus metaadattár-kiépítést is. Nem kell manuálisan létrehoznia egy metaadattárat, hacsak a munkaterület nem előzi meg az automatikus engedélyezést, és nem lett aktiválva a Unity Catalog számára. Tekintse meg a Unity Catalog használatának első lépéseit.
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, valamint a Standard vagy dedikált hozzáférési módot kell használnia.
- 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 CONNECTIONjogosultsággal rendelkező felhasználónak kell lennie a munkaterülethez csatolt Unity Catalog metaadattárban. A Unity Cataloghoz automatikusan engedélyezett munkaterületeken alapértelmezés szerint a munkaterület rendszergazdái rendelkeznek aCREATE CONNECTIONjogosultsággal. - Külföldi katalógus létrehozásához rendelkeznie kell a metaadattár
CREATE CATALOGengedélyével, és vagy a kapcsolat tulajdonosának kell lennie, vagyCREATE FOREIGN CATALOGjogosultsággal kell rendelkeznie a kapcsolaton. A Unity Cataloghoz automatikusan engedélyezett munkaterületeken alapértelmezés szerint a munkaterület rendszergazdái rendelkeznek aCREATE CATALOGjogosultsággal.
Az alábbi tevékenységalapú szakaszokban további engedélykövetelmények vannak megadva.
- Ha a Microsoft Entra ID használatával szeretne hitelesíteni az SQL Serveren, végezze el a beállítást az SQL Server-összevonáshoz készült Microsoft Entra ID konfigurálása című témakörben.
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.
Note
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 az
Katalógus.
A Katalógus panel tetején kattintson a
, majd válassza a Kapcsolat létrehozása lehetőséget a menüből.A Kapcsolat beállítása varázsló Kapcsolat alapjai lapján adjon meg egy felhasználóbarát kapcsolatnevet.
Válassza ki az SQL Serverkapcsolattípusát.
Válassza ki az OAuth, az OAuth Machine to Machine vagy aFelhasználónév és jelszó (alapszintű hitelesítés) hitelesítési típusát.
(Nem kötelező) Megjegyzés hozzáadása.
Kattintson a Tovább feliratra.
A Hitelesítés lapon adja meg az SQL Server-példány következő kapcsolati tulajdonságait. A kiválasztott hitelesítési módszerre jellemző tulajdonságokat zárójelben a
Auth typeelőzi meg.- Host: Az SQL szerver.
- (Alapszintű hitelesítés) Kikötő
- (Alapszintű hitelesítés) trustServerCertificate: Alapértelmezett érték:
false. Hatrueértékre van állítva, az átviteli réteg SSL használatával titkosítja a csatornát, és megkerüli a tanúsítványláncot a megbízhatóság ellenőrzé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. - (Alapszintű hitelesítés) userProvidedServerCertificate: Nem kötelező. A SQL Server példány PEM-kódolású nyilvános tanúsítványa. A kapcsolat mindig SSL-lel van titkosítva; Ez a tanúsítvány a kiszolgáló identitásának ellenőrzésére szolgál a TLS-kézfogás során, így az illesztőprogram megerősíti, hogy a célkiszolgálóhoz csatlakozik ahelyett, hogy vakon bízik benne. Ezt akkor adja meg, ha a kiszolgáló olyan magán- vagy belső hitelesítésszolgáltatótól származó tanúsítványt mutat be, amely nem az alapértelmezett megbízhatósági tárolóban található. Alternatívája annak, hogy a(z)
trustServerCertificateértékéttrueértékre állítsa (ami kihagyja a személyazonosság ellenőrzését); ha tanúsítvány van megadva, az elsőbbséget élvez a(z)trustServerCertificatehelyett. - (Alapszintű hitelesítés) Felhasználó
- (Alapszintű hitelesítés) Jelszó
- (OAuth) Adja meg az SQL Server-összevonáshoz készült Microsoft Entra ID konfigurálása című témakörben összegyűjtött kapcsolati adatokat.
Kattintson a Kapcsolat létrehozása elemre.
(Alapszintű hitelesítés) A Kapcsolat részletei lapon adja meg a következőket:
- Megbízhatósági kiszolgáló tanúsítványa: Ez alapértelmezés szerint nincs bejelölve. Ha ki van választva, az átviteli réteg az SSL használatával titkosítja a kommunikációs csatornát, és megkerüli a tanúsítványláncot a megbízhatóság ellenőrzé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.
- Felhasználó által megadott kiszolgálótanúsítvány: Nem kötelező. A SQL Server példány PEM-kódolású nyilvános tanúsítványa. A kapcsolat mindig SSL-lel van titkosítva. Ez a tanúsítvány a kiszolgáló identitásának ellenőrzésére szolgál a TLS-kézfogás során. Ez megerősíti, hogy az illesztőprogram nem bízik meg benne vakon, hanem a kívánt kiszolgálóhoz csatlakozik. Ezt akkor adja meg, ha a kiszolgáló olyan magán- vagy belső hitelesítésszolgáltatótól származó tanúsítványt mutat be, amely nem az alapértelmezett megbízhatósági tárolóban található. Ez egy alternatíva a Megbízható kiszolgáló tanúsítványának kiválasztására, amely kihagyja az identitásérvényesítést. A tanúsítvány megadásakor elsőbbséget élvez a megbízhatósági kiszolgáló tanúsítványával szemben.
- Alkalmazás szándéka: Az alkalmazás számítási feladatainak típusa kiszolgálóhoz való csatlakozáskor.
Kattintson a Tovább feliratra.
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.
Kattintson a Katalógus létrehozása elemre.
Az Access lapon válassza ki azokat a munkaterületeket, amelyeken a felhasználók hozzáférhetnek a létrehozott katalógushoz. Jelölje ki az Összes munkaterület hozzáféréssel rendelkezik lehetőséget, vagy kattintson a Munkaterületek hozzárendelése gombra, jelölje ki a munkaterületeket, majd kattintson a Hozzárendelés gombra.
Módosítsa azt a tulajdonost , aki kezelni tudja a katalógus összes objektumához való hozzáférést. Kezdje el beírni a szereplőt a szövegmezőbe, majd kattintson a találatok között a szereplőre.
Jogosultságok megadása a katalógusban. Kattintson a "Engedélyezés"gombra:
- Adja meg a meghatározó személyeket, akik hozzáférhetnek a katalógusban lévő objektumokhoz. Kezdje el beírni a szereplőt a szövegmezőbe, majd kattintson a találatok között a szereplőre.
- Válassza ki az egyes tagoknak adható jogosultsági beállításokat . Alapértelmezés szerint minden fiókfelhasználó
BROWSEkap.- Válassza az Adatolvasó lehetőséget a legördülő menüben a katalógusban lévő objektumokra vonatkozó jogosultságok megadásához
read. - Válassza az Adatszerkesztőt a legördülő menüből, hogy
readésmodifyjogosultságokat adjon a katalógus objektumaihoz. - Jelölje ki manuálisan a megadni kívánt jogosultságokat.
- Válassza az Adatolvasó lehetőséget a legördülő menüben a katalógusban lévő objektumokra vonatkozó jogosultságok megadásához
- Kattintson az Engedélyezés gombra.
Kattintson a Tovább feliratra.
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és lehetőségre.
Note
(OAuth) Az Azure Entra ID OAuth-végpontnak elérhetőnek kell lennie az Azure Databricks vezérlősík IP-címéről. Tekintse meg az Azure Databricks-régiókat.
SQL
Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.
CREATE CONNECTION <connection-name> TYPE sqlserver
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éldául:
CREATE CONNECTION <connection-name> TYPE sqlserver
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.
Ha ellenőrizni szeretné a kiszolgáló identitását a TLS-kézfogás során (például ha a SQL Server olyan tanúsítványt mutat be egy privát vagy belső hitelesítésszolgáltatótól, amely nem az alapértelmezett megbízhatósági tárolóban található), adja át a kiszolgáló PEM-kódolt tanúsítványát a userProvidedServerCertificate beállításban. A kapcsolat mindig SSL-lel van titkosítva. Ez a tanúsítvány megerősíti, hogy az illesztőprogram ahelyett, hogy vakon megbízik benne, csatlakozik a kívánt kiszolgálóhoz. Ez a lehetőség alternatívája, trustServerCertificate és elsőbbséget élvez vele szemben.
CREATE CONNECTION <connection-name> TYPE sqlserver
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>'),
userProvidedServerCertificate '<pem-encoded-certificate>'
)
Külföldi katalógus létrehozása
Note
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 parancsok.
Szükséges engedélyek:CREATE CATALOG engedélyt a metaadattárban, illetve a kapcsolat tulajdonjogát vagy a CREATE FOREIGN CATALOG kapcsolat jogosultságát.
Katalóguskezelő
Az Azure Databricks-munkaterületen kattintson az
Katalógus a Catalog Explorer megnyitásához.
A Katalógus panel tetején kattintson a
, majd válassza a 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ásakor a Katalógusok létrehozása területen.
SQL
Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy egy SQL-lekérdezésszerkesztőben. A zárójelek közötti elemek opcionálisak. Cserélje le a helyettesítő é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ések
Az alábbi táblázat az SQL Server által támogatott leküldéses műveleteket és az egyes műveletekhez szükséges számításokat sorolja fel.
| Tolásos automata | Támogatott számítás |
|---|---|
| Filters |
|
| Tartalmazza, Kezdődik valamivel, Végződik valamivel |
|
| Limit |
|
| Matematikai függvények (csak részleges, szűrőkifejezések) |
|
| Egyéb függvények (például Alias, Cast, SortOrder; részleges, csak szűrőkifejezések) |
|
| Projections |
|
| Karakterlánc függvények (csak részleges, szűrőkifejezések) |
|
| Aggregates |
|
| Aritmetikai operátorok (például +, -, *, %, /; nem támogatott, ha az ANSI le van tiltva) |
|
| Logikai operátorok (például =, <=>, <, <=, >, >=) |
|
| Bitenkénti operátorok (>, |, ^ és ~) |
|
| Rendezés, amikor limitekkel használjuk |
|
| Joins |
|
| Ablakfunkciók |
|
Adattípus-leképezések
Amikor adatokat olvas az SQL Serverből a Sparkba, az adattípusok az alábbi módon kerülnek megfeleltetésre:
| SQL Server-típus | Spark-típus |
|---|---|
bigint(aláíratlan), decimal, money, numericsmallmoney |
DecimalType |
smallint, tinyint |
ShortType |
int |
IntegerType |
bigint (ha aláírt) |
LongType |
real |
FloatType |
float |
DoubleType |
| \ |
CharType |
nvarchar, varchar |
VarcharType |
text, xml |
StringType |
binary, geography, geometry, imagetimestamp, udtvarbinary |
BinaryType |
bit |
BooleanType |
date |
DateType |
datetime, datetime2, smalldatetimetime |
TimestampType/TimestampNTZType |
*Amikor az SQL Serverről olvas, az SQL Server datetimes a Sparkra TimestampType van leképezve, ha preferTimestampNTZ = false (alapértelmezett). Az SQL Server datetimes a következőre van megfeleltetve: TimestampNTZType ha preferTimestampNTZ = true.