Compartir vía


remote_query función con valores de tabla

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Importante

Esta característica está en versión preliminar pública.

Devuelve el resultado tabular de la consulta ejecutada en el motor de base de datos remoto.

remote_query captura datos de sistemas remotos mediante credenciales de una conexión. La función acepta un conjunto de opciones de conector, además de aceptar consultas.

Esta función requiere la invocación de parámetros con nombre.

Syntax

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

Arguments

  • connectionName

    Literal obligatorio que hace referencia a STRINGnombre de conexión del Unity Catalog. Si el nombre de la conexión no existe, Databricks genera CONNECTION_NOT_FOUND.

    Se admiten las siguientes conexiones:

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

    Si no se admite CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION la conexión se genera.

  • connectorOptionKey

    Clave de opción del conector que es un identificador que distingue mayúsculas de minúsculas. Cada tipo de conexión tiene las opciones obligatorias correspondientes (las conexiones a bases de datos SQL requieren la opción query o table, mientras que las bases de datos NoSQL requieren la opción collection) y opciones de configuración adicionales (por ejemplo, MySQL, PostgreSQL, SQLServer y otras conexiones similares a JDBC soportan fetchSize, que configura el tamaño de los lotes que se obtienen). Si una clave no es compatible, se genera PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION.

  • connectorOptionValue

    Expresión constante que representa el valor de la opción del conector.

Devoluciones

Devuelve una tabla. El esquema de salida depende de la consulta o de las tablas que se examinan en un sistema remoto.

Notas

Esta función no se puede usar en consultas de 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