次の方法で共有


remote_query テーブル値関数

適用対象:チェック済み: はい Databricks SQLチェック済み: はい Databricks Runtime

Important

この機能は パブリック プレビュー段階です

リモート データベース エンジンで実行されたクエリの表形式の結果を返します。

remote_query は、 接続からの資格情報を使用してリモート システムからデータをフェッチします。 この関数は、クエリに加えて、一連のコネクタ オプションを受け入れます。

この関数には 、名前付きパラメーターの呼び出しが必要です

構文

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

論争

  • connectionName

    Unity カタログSTRINGを参照する必須リテラル。 接続名が存在しない場合、Databricks は CONNECTION_NOT_FOUNDを発生させます。

    次の接続がサポートされています。

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

    接続がサポートされていない場合は、 CONNECTION_TYPE_NOT_SUPPORTED_FOR_REMOTE_QUERY_FUNCTION が発生します。

  • connectorOptionKey

    コネクタオプションキーは大文字と小文字を区別する識別子です。 各接続の種類には、対応する必須オプションがあります (SQL データベースへの接続には query または table オプションが必要ですが、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