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


Összevont lekérdezések futtatása az Amazon Redshiften

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

Ez a cikk azt ismerteti, hogyan állíthatja be a Lakehouse Federationt összevont lekérdezések futtatására az Azure Databricks által nem felügyelt Amazon Redshift-adatok lekérdezéseinek futtatásakor. További információ a Lakehouse Federation-ről: What is Lakehouse Federation.

Ha az Amazon Redshift-adatbázisban futó lekérdezésekhez a Lakehouse Federation használatával szeretne csatlakozni, az alábbiakat kell létrehoznia az Azure Databricks Unity Catalog metaadattárában:

  • Kapcsolat az Amazon Redshift-adatbázis futtatási lekérdezéseihez.
  • Egy külföldi katalógus , amely tükrözi a Futtatási lekérdezéseket az Amazon Redshift-adatbázisban 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 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 Databricks Runtime-fürtből vagy az SQL Warehouse-ból a céladatbázis-rendszerekhez. Lásd a Lakehouse Federation hálózatkezelési ajánlásait.
  • Az Azure Databricks-fürtöknek a Databricks Runtime 13.3 LTS vagy újabb verzióját kell használniuk, valamint megosztott vagy egyfelhasználós hozzáférési módot kell használniuk.
  • Az SQL-raktáraknak Pro vagy Kiszolgáló nélkülinek kell lenniük, és 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 felhasználónak kell lennie a CREATE CONNECTION munkaterülethez csatolt Unity Catalog metaadattára jogosultsággal.
  • Külföldi katalógus létrehozásához rendelkeznie kell a CREATE CATALOG metaadattár engedélyével, és vagy a kapcsolat tulajdonosának kell lennie, vagy jogosultsággal kell rendelkeznie CREATE FOREIGN CATALOG 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 az CREATE CONNECTION SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

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 a Katalógus elemre Katalógus ikon .

  2. A Katalógus panel tetején kattintson aHozzáadás vagy plusz ikon Hozzáadás ikonra, és válassza a Kapcsolat hozzáadása lehetőséget a menüből.

    Másik lehetőségként a Gyorselérési lapon kattintson a Külső adatok >gombra, lépjen a Kapcsolatok lapra, és kattintson a Kapcsolat létrehozása parancsra.

  3. Adjon meg egy felhasználóbarát kapcsolatnevet.

  4. Válassza ki a Redshift kapcsolattípusát.

  5. Adja meg a Redshift-példány alábbi kapcsolati tulajdonságait.

    • Gazdagép: Például: redshift-demo.us-west-2.redshift.amazonaws.com
    • Port: Például: 5439
    • Felhasználó: Például: redshift_user
    • Jelszó: Például: password123
  6. (Nem kötelező) Kattintson a Kapcsolat tesztelése elemre annak ellenőrzéséhez, hogy működik-e.

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

  8. Kattintson a Létrehozás gombra.

SQL

Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

CREATE CONNECTION <connection-name> TYPE redshift
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élda:

CREATE CONNECTION <connection-name> TYPE redshift
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

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 az CREATE FOREIGN CATALOG SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy az SQL-lekérdezésszerkesztőben.

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 a Katalógus gombra Katalógus ikon a Catalog Explorer megnyitásához.

  2. A Katalógus panel tetején kattintson aHozzáadás vagy plusz ikon Hozzáadás ikonra, és 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.

  3. 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 szögletes zárójelek nem kötelezőek. Cserélje le a helyőrző értékeket:

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
  • Összekapcsolások
  • Összesítések (Átlag, Darabszám, Max, Min, StddevPop, StddevSamp, Sum, VarianceSamp)
  • Függvények (Sztringfüggvények é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:

  • Windows-függvények

Adattípus-leképezések

Amikor a Redshiftből a Sparkba olvas, az adattípusok az alábbiak szerint lesznek megfeleltetve:

Redshift típus Spark-típus
Numerikus Decimális típus
int2, int4 Egész számtípus
int8, oid, xid LongType
float4 FloatType
dupla pontosság, float8, pénz DoubleType
bpchar, char, character varying, name, super, text, tid, varchar StringType
bájt, geometria, varbyte BinaryType
bit, bool Logikai típus
dátum: DateType
tabstime, time, time with time zone, timetz, timetz, time zone, timetamp with time zone, timestamp, timestamptz, timetamp without time zone* TimestampType/TimestampNTZType

*Amikor a Redshiftből olvas, a Redshift Timestamp a Sparkra TimestampType van leképezve, ha infer_timestamp_ntz_type = false (alapértelmezett). Redshift Timestamp van megfeleltetve, ha TimestampNTZType infer_timestamp_ntz_type = true.