evaluate plugin 연산자

서비스 쪽 쿼리 확장(플러그 인)을 호출합니다.

evaluate 연산자는 플러그 인이라고 하는 쿼리 언어 확장을 호출할 수 있는 테이블 형식 연산자입니다. 다른 언어 구문과 달리 플러그 인을 사용하거나 사용하지 않도록 설정할 수 있습니다. 플러그 인은 언어의 관계형 특성에 의해 "바인딩"되지 않습니다. 즉, 미리 정의된 정적으로 결정된 출력 스키마가 없을 수 있습니다.

참고

  • 구문적으로 는 evaluate 테이블 형식 함수를 호출하는 invoke 연산자와 유사하게 동작합니다.
  • 평가 연산자를 통해 제공되는 플러그 인은 쿼리 실행 또는 인수 평가의 일반 규칙에 바인딩되지 않습니다.
  • 특정 플러그 인에는 특정 제한 사항이 있을 수 있습니다. 예를 들어 출력 스키마가 데이터에 따라 달라지는 플러그 인입니다. 예를 들어 bag_unpack 플러그 인피벗 플러그 인 은 클러스터 간 쿼리를 수행할 때 사용할 수 없습니다.

Syntax

[T|] evaluate [ evaluateParameters ] PluginName([ PluginArgs ])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 설명
T string 플러그 인에 대한 테이블 형식 입력입니다. 일부 플러그 인은 입력을 사용하지 않으며 테이블 형식 데이터 원본으로 작동합니다.
evaluateParameters string 0개 이상의 공백으로 구분된 평가 매개 변수는 평가 작업 및 실행 계획의 동작을 제어하는 이름= 형식입니다. 각 플러그 인은 각 매개 변수를 처리하는 방법을 다르게 결정할 수 있습니다. 특정 동작은 각 플러그 인의 설명서를 참조하세요.
PluginName string ✔️ 호출되는 플러그 인의 필수 이름입니다.
PluginArgs string 플러그 인에 제공할 쉼표로 구분된 인수가 0개 이상입니다.

매개 변수 평가

지원되는 매개 변수는 다음과 같습니다.

Name 설명
hint.distribution single, per_node, per_shard 배포 힌트
hint.pass_filters true, false evaluate 연산자가 플러그 인 전에 일치하는 필터를 통과하도록 허용합니다. 필터는 연산자 앞에 evaluate 있는 열을 참조하는 경우 '일치됨'으로 간주됩니다. 기본값: false
hint.pass_filters_column column_name 플러그 인 연산자가 플러그 인 앞에 column_name 참조하는 필터를 통과하도록 허용합니다. 매개 변수는 서로 다른 열 이름으로 여러 번 사용할 수 있습니다.

플러그 인

지원되는 플러그 인은 다음과 같습니다.

배포 힌트

배포 힌트는 플러그 인 실행이 여러 클러스터 노드에 분산되는 방법을 지정합니다. 각 플러그 인은 배포에 대한 다른 지원을 구현할 수 있습니다. 플러그 인의 설명서는 플러그 인에서 지원하는 배포 옵션을 지정합니다.

가능한 값은 다음과 같습니다.

  • single: 플러그 인의 단일 instance 전체 쿼리 데이터를 통해 실행됩니다.
  • per_node: 플러그 인 호출 전 쿼리가 노드 간에 분산되면 플러그 인의 instance 포함된 데이터를 통해 각 노드에서 실행됩니다.
  • per_shard: 플러그 인 호출 전의 데이터가 분할된 데이터베이스에 분산되면 플러그 인의 instance 데이터의 각 분할된 데이터베이스를 통해 실행됩니다.