tablo-değerli fonksiyon remote_query

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi Databricks Runtime

Önemli

Bu özellik Genel Önizleme aşamasındadır.

Uzak veritabanı altyapısında yürütülen sorgunun tablosal sonucunu döndürür.

remote_query bir bağlantıdan kimlik bilgilerini kullanarak uzak sistemlerden veri getirir. İşlev, sorgunun yanı sıra bir dizi bağlayıcı seçeneğini kabul eder.

Bu işlev adlandırılmış parametre çağırması gerektirir.

Sözdizimi

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

Arguments

  • connectionName

    Unity Kataloğu STRING referans alan zorunlu literal. Bağlantı adı yoksa Databricks CONNECTION_NOT_FOUND yükseltir.

    Aşağıdaki bağlantılar desteklenir:

    • BigQuery
    • JDBC
    • MySQL
    • Oracle
    • PostgreSQL
    • Kızıl Kayma
    • Snowflake
    • SQL Server
    • Teradata

    Bağlantı desteklenmiyorsa CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION çıkartılır.

  • connectorOptionKey

    Büyük/küçük harfe duyarlı bir tanımlayıcı olan bağlayıcı seçenek anahtarı. Her bağlantı türünün karşılık gelen zorunlu seçenekleri vardır (SQL veritabanlarına yönelik bağlantılar için query veya table seçeneği gerekir, NoSQL veritabanları için collection seçeneği) ve ek isteğe bağlı yapılandırma seçenekleri (örneğin MySQL, PostgreSQL, SQLServer ve diğer JDBC benzeri bağlantılar getirilmekte olan toplu işlemlerin boyutunu yapılandıran fetchSize) gerekir. Anahtar desteklenmiyorsa PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION oluşturulur.

  • connectorOptionValue

    Bağlayıcı seçeneği değerini temsil eden sabit ifade .

İade

Bir tablo döndürür. Çıkış şeması, sorguya veya uzak sistemde taranan tablolara bağlıdır.

Yaygın hata koşulları

Notes

Bu işlev akış sorgularında (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION) kullanılamaz.

Örnekler

-- 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