適用対象:
Databricks SQL
Databricks Runtime
Important
この機能は パブリック プレビュー段階です。
リモート データベース エンジンで実行されたクエリの表形式の結果を返します。
remote_query は、 接続からの資格情報を使用してリモート システムからデータをフェッチします。
この関数は、クエリに加えて、一連のコネクタ オプションを受け入れます。
この関数には 、名前付きパラメーターの呼び出しが必要です。
構文
remote_query(connectionName [, connectorOptionKey => connectorOptionValue ] [...])
論争
-
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
関連する関数
- http_request - Unity カタログ接続資格情報を使用して特定の API に HTTP 要求を送信するため、同様です
- CREATE CONNECTION
- ALTER CONNECTION
- DROP CONNECTION