Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:
 Databricks SQL 
 Databricks Runtime 13.3 LTS en hoger 
 en alleen Unity Catalog
Met queryfederatie kan Azure Databricks query's uitvoeren op gegevens die worden geleverd door andere Azure Databricks-metastores, evenals veel databasebeheersystemen van derden (DBMS), zoals PostgreSQL, mySQL en Snowflake.
Als u gegevens uit een ander systeem wilt opvragen, moet u het volgende doen:
- Maak een buitenlandse verbinding. Hiermee wordt de specifieke federatieve server geregistreerd bij Unity Catalog en worden middelen om ermee te communiceren tot stand gebracht, zoals de URL, poort en inloggegevens die worden gebruikt.
 - Buitenlandse catalogi registreren van de gefedereerde server met Unity Catalog
 - Verleen gebruikers toegang tot de buitenlandse catalogi. Dit kan worden gedaan op het niveau van de catalogus, het schema of de tabel, net zoals u dat zou doen met normale beveiligbare items.
 
U kunt nu query's uitvoeren voor de verschillende lokale en buitenlandse relaties.
Buitenlandse verbinding
Een externe verbinding is een beschermbaar object binnen Unity Catalog dat een externe server identificeert. Als onderdeel van CREATE CONNECTIONgeeft u de URL op waar de server kan worden geopend.
U moet ook opties opgeven, zoals de gebruikersnaam en het wachtwoord of andere geaccepteerde verificatie, die Door Azure Databricks worden gebruikt om te communiceren.
Buitenlandse catalogus
Aangezien er een buitenlandse verbinding is die ondersteuning biedt aan naamruimten op drie niveaus (catalog/database.schema.table), kunt u volledige catalogi registreren bij Unity Catalog met behulp van de opdracht CREATE FOREIGN CATALOG.
Azure Databricks houdt de definitie van de schema's van de catalogus en hun relaties gesynchroniseerd met de externe bron.
Voorbeelden
-- 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;
  ...