Partilhar via


remote_query função que retorna um valor de tabela

Aplica-se a:seleção marcada sim Databricks SQL seleção marcada sim Databricks Runtime

Importante

Este recurso está no Public Preview.

Retorna o resultado tabular da consulta executada no mecanismo de banco de dados remoto.

remote_query Busca dados de sistemas remotos usando credenciais de uma conexão. A função aceita um conjunto de opções de conector, além da consulta.

Esta função requer invocação de parâmetro nomeado.

Sintaxe

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

Arguments

  • connectionName

    Um literal obrigatório STRING que faz referência ao nome de conexão do Unity Catalog. Se o nome da conexão não existir, o Databricks gerará CONNECTION_NOT_FOUND.

    As seguintes conexões são suportadas:

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

    Se a conexão não for suportada CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION é gerada.

  • connectorOptionKey

    Uma chave de opção de conector que é um identificador que diferencia maiúsculas de minúsculas. Cada tipo de ligação tem opções obrigatórias correspondentes (as ligações a bases de dados SQL requerem ou opção , enquanto as bases de dados NoSQL requerem ) e opções de configuração opcionais adicionais (por exemplo, MySQL, PostgreSQL, SQLServer e outras ligações semelhantes a JDBC suportam que configura o tamanho dos lotes a serem obtidos). Se uma chave não for suportada, é gerada uma exceção PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION.

  • connectorOptionValue

    Uma expressão constante que representa o valor da opção do conector.

Devoluções

Retorna uma tabela. O esquema de saída depende da consulta ou das tabelas que estão sendo exploradas num sistema remoto.

Condições de erro comuns

Observações

Essa função não pode ser usada em 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