Operador evaluate plugin

Invoca una extensión de consulta del lado del servicio (complemento).

El evaluate operador es un operador tabular que permite invocar extensiones de lenguaje de consulta conocidas como complementos. A diferencia de otras construcciones de lenguaje, los complementos se pueden habilitar o deshabilitar. Los complementos no están "enlazados" por la naturaleza relacional del lenguaje. Es decir, es posible que no tengan un esquema de salida predefinido, determinado estáticamente.

Nota

  • Sintácticamente, evaluate se comporta de forma similar al operador invoke, que invoca funciones tabulares.
  • Los complementos proporcionados a través del operador evaluate no están enlazados por las reglas normales de ejecución de consultas o evaluación de argumentos.
  • Los complementos específicos pueden tener restricciones específicas. Por ejemplo, los complementos cuyo esquema de salida depende de los datos. Por ejemplo, bag_unpack complemento y complemento dinámico no se pueden usar al realizar consultas entre clústeres.

Syntax

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

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
T string Entrada tabular en el complemento. Algunos complementos no toman ninguna entrada y actúan como origen de datos tabulares.
evaluateParameters string Cero o más parámetros de evaluación separados por espacios en forma deValor de nombre= que controlan el comportamiento de la operación de evaluación y el plan de ejecución. Cada complemento puede decidir de forma diferente cómo controlar cada parámetro. Consulte la documentación de cada complemento para obtener un comportamiento específico.
PluginName string ✔️ Nombre obligatorio del complemento que se invoca.
PluginArgs string Cero o más argumentos separados por comas que se van a proporcionar al complemento.

Evaluación de parámetros

Se admiten los siguientes parámetros:

Nombre Valores Descripción
hint.distribution single, per_node, per_shard Sugerencias de distribución
hint.pass_filters true, false Permitir evaluate que el operador pase a través de los filtros coincidentes antes del complemento. El filtro se considera "coincidente" si hace referencia a una columna existente antes del evaluate operador . Valor predeterminado: false
hint.pass_filters_column column_name Permitir que el operador del complemento pase a través filtre los filtros que hacen referencia a column_name antes del complemento. El parámetro se puede usar varias veces con nombres de columna diferentes.

Complementos

Se admiten los siguientes complementos:

Sugerencias de distribución

Las sugerencias de distribución especifican cómo se distribuirá la ejecución del complemento entre varios nodos de clúster. Cada complemento puede implementar una compatibilidad diferente para la distribución. La documentación del complemento especifica las opciones de distribución admitidas por el complemento.

Valores posibles:

  • single: una única instancia del complemento se ejecutará en todos los datos de consulta.
  • per_node: si la consulta anterior a la llamada del complemento se distribuye entre nodos, se ejecutará una instancia del complemento en cada nodo sobre los datos que contiene.
  • per_shard: si los datos anteriores a la llamada del complemento se distribuyen entre particiones, una instancia del complemento se ejecutará en cada partición de los datos.