共用方式為


remote_query 資料表值函式

適用於:勾選為「是」Databricks SQL 勾選為「是」Databricks Runtime

這很重要

這項功能目前處於 公開預覽版

傳回在遠端資料庫引擎上執行之查詢的表格式結果。

remote_query 使用 連線中的認證從遠端系統擷取資料。 函式接受一組連接器選項,但不限於查詢。

此函式 需要具名參數調用

語法

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

Arguments

  • connectionName

    Unity Catalog STRING 的必須常值。 如果連線名稱不存在,Databricks 會引發 CONNECTION_NOT_FOUND

    支援下列連線:

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

    如果不支援 CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION 連線,則會引發錯誤。

  • connectorOptionKey

    連接器選項鍵,它是區分大小寫的識別碼。 每種連線類型都有相應的強制選項(與 SQL 資料庫的連線需要querytable或選項,而 NoSQL 資料庫需要collection選項)和其他可選配置選項(例如 MySQL、PostgreSQL、SQLServer 和其他類似 JDBC 的連線支援fetchSize,可設定要擷取的批次大小)。 如果不支援金鑰 PARAMETER_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION ,則會引發。

  • connectorOptionValue

    代表連接器選項值的 常數運算式

退貨

回傳資料表。 輸出模式依賴於遠端系統上被掃描的查詢或正在掃描的表格。

註釋

此功能無法用於串流查詢 (UNSUPPORTED_STREAMING_TABLE_VALUED_FUNCTION)。

範例

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