Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 13.3 LTS ke atas
Hanya Unity Catalog
Federasi kueri memungkinkan Azure Databricks untuk menjalankan kueri terhadap data yang dilayani oleh metastore Azure Databricks lainnya serta banyak sistem manajemen database pihak ketiga (DBMS) seperti PostgreSQL, mySQL, dan Snowflake.
Untuk mengkueri data dari sistem lain, Anda harus:
- Buat koneksi luar negeri. Ini mendaftarkan server federasi tertentu dengan Unity Catalog dan menetapkan sarana untuk berkomunikasi dengannya, seperti URL, port, dan kredensial yang digunakan.
- Mendaftarkan katalog asing dari server federasi dengan Unity Catalog
- Berikan akses pengguna ke katalog asing. Ini dapat dilakukan di tingkat katalog, skema, atau tabel seperti yang Anda lakukan dengan objek keamanan biasa.
Anda sekarang dapat melakukan kueri pada berbagai relasi lokal dan internasional.
Koneksi asing
Koneksi asing adalah objek yang dapat diamankan dalam Unity Catalog yang berfungsi untuk mengidentifikasi server asing. Sebagai bagian dari CREATE CONNECTION, Anda menentukan URL tempat server dapat diakses.
Anda juga harus menyediakan opsi seperti nama pengguna dan kata sandi atau autentikasi lain yang diterima, yang akan digunakan Azure Databricks untuk berkomunikasi.
Katalog asing
Mengingat koneksi asing yang mendukung namespace tiga tingkat (catalog/database.schema.table) Anda dapat mendaftarkan seluruh katalog dengan Katalog Unity menggunakan perintah CREATE FOREIGN CATALOG.
Azure Databricks menjaga definisi skema katalog dan hubungannya sinkron dengan sumber asing.
Contoh
-- 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;
...