Compartilhar via


Função com valor de tabela remote_query

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

Importante

Esse recurso está em Visualização Pública.

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.

Essa função requer invocação de parâmetro nomeada.

Sintaxe

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

Arguments

  • connectionName

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

    Há suporte para as seguintes conexões:

    • 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 será acionado.

  • connectorOptionKey

    Uma chave de opção do conector que é um identificador que diferencia maiúsculas de minúsculas. Cada tipo de conexão tem opções obrigatórias correspondentes (as conexões com bancos de dados SQL exigem query ou table opção, enquanto os bancos de dados NoSQL exigem collection opção) e opções de configuração opcionais adicionais (por exemplo, MySQL, PostgreSQL, SQLServer e outras conexões semelhantes a JDBC que fetchSize configuram o tamanho dos lotes que estão sendo buscados). Se uma chave não for suportada, PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION será gerado.

  • 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 analisadas em um sistema remoto.

Anotações

Essa função não pode ser usada em consultas em fluxo contínuo (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION).

Exemplos

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