Összevont lekérdezések futtatása az Oracle-en
Fontos
Ez a funkció nyilvános előnézetbenvan.
Ez a cikk azt ismerteti, hogyan állíthatja be a Lakehouse Federationt összevont lekérdezések futtatására az Azure Databricks által nem kezelt Oracle-adatokon. További információ a Lakehouse Federation-ről: Mi az a Lakehouse Federation?.
Az Oracle-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:
- Egy kapcsolat az Oracle-adatbázissal.
- Egy külső katalógus, amely tükrözi az Oracle-adatbázist a Unity Catalogban, így a Unity Catalog lekérdezésszintaxisával és adatszabályozási eszközeivel kezelheti az Azure Databricks felhasználói hozzáférését az adatbázishoz.
Mielőtt hozzákezdene
Mielőtt hozzákezdene, győződjön meg arról, hogy megfelel az ebben a szakaszban szereplő követelményeknek.
A Databricks követelményei
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 Federationhálózatkezelési ajánlásait.
- Az Azure Databricks compute-nek a Databricks Runtime 16.1 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 2024.50-ös 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.
Oracle-követelmények
- A kiszolgálóoldali natív hálózati titkosítás engedélyezve van (legalább
ACCEPTED
szinten). Lásd A hálózati adattitkosítási konfigurálása az Oracle dokumentációjában.
Azure Databricks-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.
Jegyzet
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 CREATE CONNECTION
jogosultsággal rendelkező felhasználó.
Katalóguskezelő
- Az Azure Databricks-munkaterületen kattintson
Katalógus.
- A bal oldali panelen bontsa ki a Külső adatok menüt, és válassza Kapcsolatoklehetőséget.
- Kattintson a Kapcsolat létrehozásaelemre.
- A Kapcsolat alapjai oldalon, a Kapcsolat beállítása varázslóban adjon meg egy felhasználóbarát kapcsolatnevet.
- Válassza ki
Oracle .kapcsolattípusának - (Nem kötelező) Megjegyzés hozzáadása.
- Kattintson a Továbbgombra.
- A Hitelesítési lapon adja meg a következőket az Oracle-példányhoz:
-
Host: Például
oracle-demo.123456.rds.amazonaws.com
-
port: Például
1521
-
Felhasználó: Például
oracle_user
-
jelszó: Például
password123
-
Host: Például
- Kattintson a Kapcsolat létrehozásaelemre.
- 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 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. 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 lesz kezelni a katalógus összes objektumához való hozzáférést. Kezdje el beírni a főazonosítót a szövegmezőbe, majd kattintson a visszaadott eredmények között a főazonosítóra.
- Adjon jogosultságokat a katalógusban. Kattintson a megadása gombra:
- Adja meg azokat a fő entitásokat, akik hozzáférhetnek a katalógusban lévő objektumokhoz. Kezdje el beírni a főazonosítót a szövegmezőbe, majd kattintson a visszaadott eredmények között a főazonosítóra.
- Válassza ki a jogosultsági beállításokat az egyes szereplők számára történő megadásra. 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 gombra, majd válassza aengedélyezését.
- 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:
CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
A Databricks azt javasolja, hogy az Azure Databricks titkokat használjon ahelyett, hogy egyszerű szöveges sztringeket alkalmazna, olyan bizalmas értékekhez, mint például a hitelesítő adatok. Például:
CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Ha egyszerű szöveges sztringeket kell használnia a jegyzetfüzet SQL-parancsaiban, kerülje a sztring csonkolását úgy, hogy a speciális karaktereket, például a $
helyett \
karakterrel helyettesíti. Például: \$
.
A titkos kódok beállításáról további információt Titkos kódok kezelésecímű témakörben talál.
Idegen katalógus létrehozása
Jegyzet
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élyét, valamint a kapcsolat tulajdonjogát vagy a kapcsolat CREATE FOREIGN CATALOG
jogosultságát.
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 egy SQL-lekérdezésszerkesztőben. A szögletes zárójelek közötti elemek 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. -
<service-name>
: Az Azure Databricksben katalógusként tükrözni kívánt szolgáltatásnév.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (service_name '<service-name>');
Támogatott leképzések
A következő leküldések támogatottak:
- Szűrők
- Előrejelzések
- Határ
- Aggregátumok
- Ellensúlyoz
- Szereplőgárda
- Tartalmazza, Kezdődik valamivel, Végződik valamivel
Adattípus-leképezések
Amikor az Oracle-ből a Sparkba olvasunk, az adattípusok a következőképpen felelnek meg egymásnak:
Oracle-típus | Spark-típus |
---|---|
IDŐBÉLYEG TIMEZONE, IDŐBÉLYEG HELYI TIMEZONE | Időbélyegtípus |
DÁTUM, IDŐBÉLYEG | TimestampType/TimestampNTZType* |
SZÁM, LEBEGŐPONTOS | Decimális típus |
BINÁRIS LEBEGŐPONTOS | FloatType |
BINÁRIS DUPLA | DoubleType |
CHAR, NCHAR, VARCHAR2, NVARCHAR2 | Szövegtípus |
- A dátum és az időbélyeg a Spark TimestampType típusra van leképezve, ha
spark.sql.timestampType = TIMESTAMP_LTZ
(alapértelmezett). Azok a TimestampNTZType-re vannak leképezve, haspark.sql.timestampType = TIMESTAMP_NTZ
.