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


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

Oracle-követelmények

  • A kiszolgálóoldali natív hálózati titkosítás engedélyezve van (legalábbACCEPTED 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ő

  1. Az Azure Databricks-munkaterületen kattintson Katalógus ikonraKatalógus.
  2. A bal oldali panelen bontsa ki a Külső adatok menüt, és válassza Kapcsolatoklehetőséget.
  3. Kattintson a Kapcsolat létrehozásaelemre.
  4. A Kapcsolat alapjai oldalon, a Kapcsolat beállítása varázslóban adjon meg egy felhasználóbarát kapcsolatnevet.
  5. Válassza ki Oraclekapcsolattípusának.
  6. (Nem kötelező) Megjegyzés hozzáadása.
  7. Kattintson a Továbbgombra.
  8. 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
  9. Kattintson a Kapcsolat létrehozásaelemre.
  10. 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.
  11. (Nem kötelező) Kattintson Kapcsolat tesztelése elemre annak ellenőrzéséhez, hogy működik-e.
  12. Kattintson Katalógus létrehozásaelemre.
  13. 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.
  14. 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.
  15. Adjon jogosultságokat a katalógusban. Kattintson a megadása gombra:
    1. 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.
    2. 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 é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 gombra, majd válassza aengedélyezését.
  16. Kattintson a Továbbgombra.
  17. 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.
  18. (Nem kötelező) Megjegyzés hozzáadása.
  19. 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ő

  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 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, ha spark.sql.timestampType = TIMESTAMP_NTZ.