적용 대상:
Databricks SQL
Databricks Runtime
중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
원격 데이터베이스 엔진에서 실행된 쿼리의 테이블 형식 결과를 반환합니다.
remote_query
는 연결의 자격 증명을 사용하여 원격 시스템에서 데이터를 가져옵니다.
함수는 쿼리 외에 커넥터 옵션 집합을 허용합니다.
이 함수에는 명명된 매개 변수 호출이 필요합니다.
문법
remote_query(connectionName [, connectorOptionKey => connectorOptionValue ] [...])
Arguments
-
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 카탈로그 연결 자격 증명을 사용하여 특정 API에 HTTP 요청을 보내기 때문에 유사합니다.
- CREATE CONNECTION
- ALTER CONNECTION
- DROP CONNECTION