Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
Databricks SQL
Databricks Runtime
Это важно
Эта функция доступна в общедоступной предварительной версии.
Возвращает табличный результат запроса, выполняемого на удаленном ядре СУБД.
remote_query извлекает данные из удаленных систем с помощью учетных данных из подключения.
Функция принимает набор параметров соединителя, поэтому помимо запроса.
Для этой функции требуется вызов именованного параметра.
Синтаксис
remote_query(connectionName [, connectorOptionKey => connectorOptionValue ] [...])
Arguments
-
Обязательный
STRINGлитерал, ссылающийся на имя подключения каталога Unity. Если имя подключения не существует, 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 Catalog, чтобы отправлять HTTP-запросы к определенным API.
- CREATE CONNECTION
- ALTER CONNECTION
- DROP CONNECTION