다음을 통해 공유


remote_query 테이블 값 함수

적용 대상:확인 표시 '예' Databricks SQL 확인 표시 '예' Databricks Runtime

중요합니다

이 기능은 공개 미리보기 단계에 있습니다.

원격 데이터베이스 엔진에서 실행된 쿼리의 테이블 형식 결과를 반환합니다.

remote_query 는 연결의 자격 증명을 사용하여 원격 시스템에서 데이터를 가져옵니다. 함수는 쿼리 외에 커넥터 옵션 집합을 허용합니다.

이 함수에는 명명된 매개 변수 호출이 필요합니다.

문법

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

Arguments

  • connectionName

    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