Compartilhar via


operador do plug-in evaluate

Invoca uma extensão de consulta do lado do serviço (plugin).

O evaluate operador é um operador tabular que permite invocar extensões de linguagem de consulta conhecidas como plugins. Ao contrário de outras construções de linguagem, os plugins podem ser ativados ou desativados. Os plugins não são "limitados" pela natureza relacional da linguagem. Em outras palavras, eles podem não ter um esquema de saída predefinido, determinado estaticamente.

Observação

  • Sintaticamente, evaluate comporta-se de forma semelhante ao operador invoke, que invoca funções tabulares.
  • Os plug-ins fornecidos por meio do operador de avaliação não estão vinculados às regras regulares de execução de consulta ou avaliação de argumentos.
  • Plugins específicos podem ter restrições específicas. Por exemplo, plugins cujo esquema de saída depende dos dados. Por exemplo, bag_unpack plug-in e o plug-in pivô não podem ser usados ao executar consultas entre clusters.

Sintaxe

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

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
T string Uma entrada tabular para o plugin. Alguns plugins não recebem nenhuma entrada e atuam como uma fonte de dados tabulares.
avaliarParâmetros string Zero ou mais parâmetros de avaliação separados por espaço na forma de Valor de Nome = que controlam o comportamento do plano de avaliação de operação e execução. Cada plugin pode decidir de forma diferente como lidar com cada parâmetro. Consulte a documentação de cada plugin para obter um comportamento específico.
Nome do Plug-in string ✔️ O nome obrigatório do plugin que está sendo invocado.
PluginArgs string Zero ou mais argumentos separados por vírgulas para fornecer ao plugin.

Avaliar parâmetros

Os seguintes parâmetros são compatíveis:

Nome Valores Descrição
hint.distribution single, per_node, per_shard Dicas de distribuição
hint.pass_filters true, false Permita que evaluate o operador passe por quaisquer filtros correspondentes antes do plugin. O filtro é considerado como "correspondido" se se referir a uma coluna existente antes do evaluate operador. Padrão: false
hint.pass_filters_column column_name Permitir que o operador do plugin passe por filtros referentes a column_name antes do plugin. O parâmetro pode ser usado várias vezes com nomes de coluna diferentes.

Plug-ins

Os seguintes plugins são suportados:

Dicas de distribuição

As dicas de distribuição especificam como a execução do plug-in será distribuída em vários nós de cluster. Cada plugin pode implementar um suporte diferente para a distribuição. A documentação do plug-in especifica as opções de distribuição suportadas pelo plug-in.

Valores possíveis:

  • single: Uma única instância do plug-in será executada sobre todos os dados da consulta.
  • per_node: Se a consulta antes da chamada do plug-in for distribuída entre nós, uma instância do plug-in será executada em cada nó sobre os dados que ele contém.
  • per_shard: Se os dados antes da chamada do plug-in forem distribuídos entre fragmentos, uma instância do plug-in será executada sobre cada fragmento dos dados.