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


Összevont lekérdezések (Lakehouse-összevonás)

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 13.3 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

A lekérdezések összevonásával az Azure Databricks lekérdezéseket hajthat végre más Azure Databricks-metaadattárak, valamint számos külső adatbázis-kezelő rendszer (DBMS), például a PostgreSQL, a mySQL és a Snowflake által kiszolgált adatokon.

Ha adatokat szeretne lekérdezni egy másik rendszerből, a következőt kell tennie:

  1. Hozzon létre egy idegen kapcsolatot. Ez regisztrálja az adott összevont kiszolgálót a Unity Catalogban, és eszközöket hoz létre a vele való kommunikációhoz, például a használt URL-címet, portot és hitelesítő adatokat.
  2. Külföldi katalógusok regisztrálása az összevont kiszolgálóról a Unity Catalog használatával
  3. Hozzáférést biztosíthat a felhasználóknak a külföldi katalógusokhoz. Ez a katalógus, séma vagy táblázat szintjén is elvégezhető, ahogy a normál biztonságossá tételekkel tenné.

Mostantól lekérdezéseket is kiadhat a különböző helyi és külkapcsolatok között.

Külső kapcsolat

A külső kapcsolat egy unitykatalógus biztonságos objektuma, amely azonosít egy idegen kiszolgálót. A CREATE CONNECTION részeként meg kell adnia azt az URL-címet, ahol a kiszolgáló elérhető.

Meg kell adnia olyan lehetőségeket is, mint a felhasználónév és a jelszó, vagy más elfogadott hitelesítés, amelyet az Azure Databricks használni fog a kommunikációhoz.

Külföldi katalógus

A háromszintű névtereket (catalog/database.schema.table) támogató külső kapcsolatnak megfelelően teljes katalógusokat regisztrálhat a Unity Catalogban a CREATE FOREIGN CATALOG paranccsal. Az Azure Databricks a katalógus sémáinak és kapcsolatainak definícióját szinkronban tartja a külső forrással.

Példák

-- Create a postgresql connection
> CREATE CONNECTION postgresql_connection
    TYPE POSTGRESQL
    OPTIONS (
       host 'qf-postgresql-demo.xxxxxx.us-west-2.rds.amazonaws.com',
       port '5432',
       user 'postgresql_user',
       password 'password123');

-- Alternatively create a postgresql connection with secret scope
> CREATE CONNECTION postgresql_connection
    TYPE POSTGRESQL
    OPTIONS (
       host 'qf-postgresql-demo.xxxxxx.us-west-2.rds.amazonaws.com',
       port '5432',
       user secret('secrets.r.us', 'postgresUser'),
       password secret('secrets.r.us', 'postgresPassword'));

-- Expose the "postgresdb" database with schemas and tables postgresql_user can access.
> CREATE FOREIGN CATALOG postgresql_catalog
    USING CONNECTION postgresql_connection
    OPTIONS (database 'postgresdb');

-- Execute a query across tables in the above catalog, schema, and table.
> SELECT * FROM postgresql_catalog.a_schema.table1
  UNION ALL
  SELECT * FROM default.postgresql_schema.table2
  UNION ALL
  SELECT * FROM default.postgresql.mytable
  UNION ALL
  SELECT local_table;
  ...