Udostępnij za pomocą


remote_query funkcja wartości tabeli

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Ważne

Ta funkcja jest dostępna w publicznej wersji testowej.

Zwraca tabelaryczny wynik zapytania wykonanego w zdalnym silniku bazy danych.

remote_query pobiera dane z systemów zdalnych przy użyciu poświadczeń z połączenia. Funkcja akceptuje zestaw opcji łącznika, więc oprócz zapytania.

Ta funkcja wymaga wywołania nazwanego parametru.

Składnia

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

Arguments

  • connectionName

    Obowiązkowy STRING literał odwołujący się do nazwy połączenia Unity Catalog. Jeśli nazwa połączenia nie istnieje, usługa Databricks zgłasza CONNECTION_NOT_FOUND.

    Obsługiwane są następujące połączenia:

    • BigQuery
    • MySQL
    • Oracle
    • PostgreSQL
    • Redshift
    • Snowflake
    • SQL Server
    • Teradata

    Jeśli połączenie nie jest obsługiwane, CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION zostaje zgłoszony.

  • connectorOptionKey

    Klucz opcji łącznika, który jest identyfikatorem z uwzględnieniem wielkości liter. Każdy typ połączenia ma odpowiednie obowiązkowe opcje (połączenia z bazami danych SQL wymagają query lub table opcji, podczas gdy bazy danych NoSQL wymagają collection opcji) i dodatkowe opcjonalne opcje konfiguracji (np. MySQL, PostgreSQL, SQLServer i inne połączenia podobne do JDBC obsługują fetchSize , które konfigurują rozmiar pobieranych partii). Jeśli klucz nie jest obsługiwany PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION, zostanie zgłoszony.

  • connectorOptionValue

    Wyrażenie stałe reprezentujące wartość opcji łącznika.

Zwraca

Zwraca tabelę. Schemat danych wyjściowych jest zależny od zapytania lub tabel skanowanych w systemie zdalnym.

Notatki

Tej funkcji nie można używać w zapytaniach strumieniowych (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION).

Przykłady

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