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 Snowflake-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
A Snowflake-adatbázishoz a Lakehouse Federation használatával való csatlakozáshoz a következőket 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 a Snowflake-adatbázissal.
- Egy külföldi katalógus , amely tükrözi a Snowflake-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.
Ez az oldal bemutatja, hogyan futtathat összevont lekérdezéseket a Snowflake-adatokon alapszintű hitelesítéssel (felhasználónév/jelszó). Egyéb hitelesítési módszerekért tekintse meg a következő oldalakat:
- Snowflake beépített OAuth
- OAuth és Microsoft Entra ID
- OAuth és Okta
- OAuth hozzáférési jogkivonat
- PEM titkos kulcs
Összevont lekérdezéseket futtathat a Snowflake-on lekérdezés-összevonás vagy katalógus-összevonás használatával.
A lekérdezések összevonásában a JDBC leküldi a Unity Catalog-lekérdezést a külső adatbázisba. Ez ideális az igény szerinti jelentéskészítéshez vagy az ETL-folyamatokon végzett megvalósíthatósági vizsgálathoz.
A katalógus-összevonásban a Unity Catalog-lekérdezés közvetlenül a fájltárolón fut. Ez a módszer hasznos lehet a növekményes migráláshoz kódadaptálás nélkül, vagy hosszabb távú hibrid modellként olyan szervezetek számára, amelyeknek a Unity Katalógusban regisztrált adataik mellett a Snowflake-ben is meg kell őrizniük bizonyos adatokat. Lásd: A Snowflake katalógus federáció engedélyezése.
Mielőtt hozzákezdene
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.
A Microsoft Entra ID konfigurálása
Kövesse a Microsoft Entra id for External OAuth konfigurálását a Snowflake dokumentációjában.
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.
Megjegyzé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 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 a Snowflake kapcsolattípusát.
Hitelesítési típus esetén válassza az
Username and password(alapszintű hitelesítés) lehetőséget a legördülő menüből.(Nem kötelező) Megjegyzés hozzáadása.
Kattintson a Tovább feliratra.
Adja meg a Snowflake-raktár következő hitelesítési és kapcsolati adatait. A kiválasztott hitelesítési módszerre jellemző tulajdonságokat zárójelben a
Auth typeelőzi meg.-
hoszt: Például
snowflake-demo.east-us-2.azure.snowflakecomputing.com -
Port: Például:
443 -
Felhasználó: Például:
snowflake-user -
jelszó: Például
password123
-
hoszt: Például
Kattintson a Tovább feliratra.
A Kapcsolat részletei lapon adja meg a következőket:
-
Hópehelyraktár: Például:
my-snowflake-warehouse - (Nem kötelező) proxy hoszt: A Snowflake-hez való csatlakozáshoz használt proxy hosztja. Emellett ki kell választania a Proxy használata lehetőséget, és meg kell adnia a Proxy portot.
- (Nem kötelező) Proxyhasználata: Azt jelzi, hogy a Snowflake-hez proxykiszolgálóval csatlakozik-e.
- (Nem kötelező) proxyport: A Snowflake-hez való csatlakozáshoz használt proxy portja. Emellett ki kell jelölnie a Proxy használata lehetőséget, és meg kell adnia a Proxy kiszolgáló.
- (Nem kötelező) Snowflake szerepkör: A csatlakozás után a munkamenethez használni kívánt alapértelmezett biztonsági szerepkör.
-
Hópehelyraktár: Például:
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.
(Nem kötelező) Kattintson Kapcsolat tesztelése elemre annak ellenőrzéséhez, hogy működik-e.
Kattintson a Katalógus létrehozásaelemre.
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 főtényezőt a szövegmezőbe, majd kattintson a megjelenített eredmények között a főtényezőre.
Adjon jogosultságokat a katalógushoz. Kattintson a "Engedélyezés"gombra:
- Adja meg azokat a felelősöket, akik hozzáférhetnek a katalógusban lévő objektumokhoz. 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.
- Válassza ki a jogosultsági beállításokat, amelyeket az egyes szereplőknek kíván adni. 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.
SQL
Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.
CREATE CONNECTION <connection-name> TYPE snowflake
OPTIONS (
host '<hostname>',
port '<port>',
sfWarehouse '<warehouse-name>',
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 snowflake
OPTIONS (
host '<hostname>',
port '<port>',
sfWarehouse '<warehouse-name>',
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.
Speciális kapcsolati beállítások
A snowflake-kapcsolatok a következő speciális beállítást támogatják a korlátozott kimenő vagy privát kapcsolati környezetekhez:
-
disableOCSPChecks: Állítsa be aztrueonline tanúsítványállapot-protokoll (OCSP) tanúsítvány-visszavonási ellenőrzésének letiltására a Snowflake JDBC-illesztőben. Az OCSP-ellenőrzések letiltása kihagyja a tanúsítványok visszavonásának ellenőrzését.
Important
Amikor csak lehetséges, engedélyezze a Snowflake OCSP-válaszadó felé irányuló kimenő forgalmat. Hagyja üresen a(z) disableOCSPChecks értéket, vagy állítsa false értékre. Csak akkor állítsa erre: true, ha a korlátozott kimenő adatforgalmat kezelő vagy a privát kapcsolati konfigurációja nem teszi lehetővé ezt a forgalmat.
Ez a beállítás nem jelenik meg a Katalóguskezelőben. Ezt az SQL-kapcsolat létrehozásakor állíthatja be:
CREATE CONNECTION <connection-name> TYPE snowflake
OPTIONS (
<connection-options>,
disableOCSPChecks 'true'
);
Meglévő kapcsolat esetén használja a következőt ALTER CONNECTION: .
Kis- és nagybetűket megkülönböztető adatbázis-azonosítók
A database külföldi katalógus mezője a Snowflake adatbázis-azonosítóra leképez. Ha a Snowflake-adatbázis azonosítója nem megkülönbözteti a kis- és nagybetűk megkülönböztetését, a külső katalógusban <database-name> használt burkolat megmarad. Ha azonban a Snowflake-adatbázis azonosítója megkülönbözteti a kis- és nagybetűket, a kis- és nagybetűk megőrzéséhez a külföldi katalógust <database-name> dupla idézőjelekbe kell csomagolnia.
Például:
databaseát van alakítvaDATABASE"database"át van alakítvadatabase"database"""át van alakítvadatabase"A dupla idézőjelek feloldásához használjon egy másik dupla idézőjelet.
"database""hibát eredményez, mert a kettős idézőjel nincs megfelelően escape-elve.
További információ: Azonosítókövetelmények a Snowflake dokumentációjában.
Támogatott leküldések
A következő veremtöltések támogatottak:
- Szűrők
- Előrejelzések
- Korlátozás
- Offset
- Csatlakozik
- Összesítések (Átlag, Corr, CovPopulation, CovSample, Count, Max, Min, StddevPop, StddevSamp, Sum, VariancePop, VarianceSamp)
- Függvények (Sztringfüggvények, Matematikai függvények, Dátum, Idő és Időbélyeg függvények és egyéb egyéb függvények, például Alias, Cast, SortOrder)
- Ablakfüggvények (DenseRank, Rank, RowNumber)
- Rendezés
- Top-N (a rendezés és a korlát egyetlen műveletbe kombinálása) a Databricks Runtime 17.3-ban és újabb verziókban támogatott
Adattípus-leképezések
Ha Snowflake-ből Sparkba olvas, az adattípusok a következőképpen kerülnek megfeleltetésre:
| Hópehely típusa | Spark-típus |
|---|---|
| \ |
DecimalType |
bigint, byteint, int, integersmallinttinyint |
IntegerType |
| \ |
FloatType |
| \ |
DoubleType |
char, character, string, texttimevarchar |
StringType |
binary |
BinaryType |
boolean |
BooleanType |
date |
DateType |
datetime, timestamp, timestamp_ltz, timestamp_ntztimestamp_tz |
TimestampType |