Összevont lekérdezések (Lakehouse-összevonás)
A következőkre vonatkozik: Databricks SQL Databricks Runtime 13.3 LTS és a Unity Catalog felett csak
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:
- 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.
- Külföldi katalógusok regisztrálása az összevont kiszolgálóról a Unity Catalog használatával
- 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;
...