Condividi tramite


remote_query funzione con valori di tabella

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Importante

Questa funzionalità è in Anteprima Pubblica.

Restituisce il risultato tabulare della query eseguita nel motore di database remoto.

remote_query recupera i dati dai sistemi remoti usando le credenziali di una connessione. La funzione accetta un set di opzioni del connettore, oltre alla query.

Questa funzione richiede la chiamata di parametri denominati.

Sintassi

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

Arguments

  • connectionName

    Valore letterale obbligatorio STRING che fa riferimento al nome della connessione del catalogo Unity. Se il nome della connessione non esiste, Databricks genera CONNECTION_NOT_FOUND.

    Sono supportate le connessioni seguenti:

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

    Se la connessione non è supportata CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION viene generata.

  • connectorOptionKey

    Chiave di opzione del connettore che è un identificatore con distinzione tra maiuscole e minuscole. Ogni tipo di connessione include opzioni obbligatorie corrispondenti (le connessioni ai database SQL richiedono query o table opzione, mentre i database NoSQL richiedono collection l'opzione) e opzioni di configurazione facoltative aggiuntive (ad esempio MySQL, PostgreSQL, SQLServer e altre connessioni fetchSize simili a JDBC che configurano le dimensioni dei batch recuperati). Se una chiave non è supportata, viene lanciata PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION.

  • connectorOptionValue

    Espressione costante che rappresenta il valore dell'opzione del connettore.

Restituzioni

Restituisce una tabella. Lo schema di output dipende dalla query o dalle tabelle analizzate in un sistema remoto.

Note

Questa funzione non può essere usata nelle query di streaming (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION).

Esempi

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