Bagikan melalui


remote_query fungsi dengan nilai tabel

Berlaku untuk:Ditandai centang ya Databricks SQL Ditandai centang ya Databricks Runtime

Penting

Fitur ini ada di Pratinjau Umum.

Mengembalikan hasil tabular kueri yang dijalankan pada mesin database jarak jauh.

remote_query mengambil data dari sistem jarak jauh menggunakan kredensial dari koneksi. Fungsi ini menerima sekumpulan opsi konektor, selain kueri.

Fungsi ini memerlukan pemanggilan parameter bernama.

Syntax

remote_query(connectionName [, connectorOptionKey => connectorOptionValue ] [...])

Arguments

  • connectionName

    Literal STRING wajib yang mengacu pada nama koneksi Katalog Unity. Jika nama koneksi tidak ada, Databricks akan menaikkan CONNECTION_NOT_FOUND.

    Koneksi berikut ini didukung:

    • BigQuery
    • MySQL
    • Oracle
    • PostgreSQL
    • Pergeseran Merah
    • Snowflake
    • SQL Server
    • Teradata

    Jika koneksi tidak didukung CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION dinaikkan.

  • connectorOptionKey

    Kunci opsi konektor yang merupakan pengidentifikasi peka huruf besar/kecil. Setiap jenis koneksi memiliki opsi wajib yang sesuai (koneksi ke database SQL memerlukan query atau table opsi, sementara database NoSQL memerlukan collection opsi) dan opsi konfigurasi opsional tambahan (misalnya MySQL, PostgreSQL, SQLServer, dan dukungan fetchSize koneksi seperti JDBC lainnya yang mengonfigurasi ukuran batch yang diambil). Jika kunci tidak didukung PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION dinaikkan.

  • connectorOptionValue

    Ekspresi konstanta yang mewakili nilai opsi konektor.

Pengembalian Barang

Mengembalikan tabel. Skema keluaran bergantung pada kueri atau tabel yang dipindai di sistem jarak jauh.

Catatan

Fungsi ini tidak dapat digunakan dalam kueri streaming (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION).

Examples

-- Simple example with MySQL connection
> SELECT a, b FROM remote_query('mysql_connection', query => 'SELECT * FROM mysql_database.mysql_table WHERE sin(b) = 0.5');
  a        b
  angle_1  30

-- Simple example with MongoDB (NoSQL) connection
> SELECT a, b FROM remote_query('mongo_connection', collection => 'collection1', pipeline => '[{''$match'': {''b'': 30}}]');
  a        b
  angle_1  30

-- Connection name does not exist
> SELECT * FROM remote_query('non_existent_uc_connection', query => '');
  Error: CONNECTION_NOT_FOUND

-- Connection type is not supported
> SELECT * FROM remote_query('google_drive_connection', query => '');
  Error: CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION