operador do plug-in evaluate

Invoca uma extensão de consulta do lado do serviço (plug-in).

O evaluate operador é um operador tabular que permite invocar extensões de linguagem de consulta conhecidas como plug-ins. Ao contrário de outros constructos de idioma, os plug-ins podem ser habilitados ou desabilitados. Os plug-ins não são "associados" 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 são associados pelas regras regulares de execução de consulta ou avaliação de argumento.
  • Plug-ins específicos podem ter restrições específicas. Por exemplo, plug-ins cujo esquema de saída depende dos dados. Por exemplo, bag_unpack plug-in e plug-in dinâmico não podem ser usados ao executar consultas entre clusters.

Syntax

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

Saiba mais sobre as convenções de sintaxe.

Parâmetros

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

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 Permitir que evaluate o operador passe todos os filtros correspondentes antes do plug-in. O filtro será considerado como "correspondente" se se referir a uma coluna existente antes do evaluate operador. Padrão: false
hint.pass_filters_column column_name Permitir que o operador de plug-in passe filtros referentes a column_name antes do plug-in. O parâmetro pode ser usado várias vezes com nomes de coluna diferentes.

Plug-ins

Há suporte para os seguintes plug-ins:

Dicas de distribuição

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

Valores possíveis:

  • single: uma única instância do plug-in será executada em todos os dados de consulta.
  • per_node: se a consulta antes da chamada de 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 de plug-in forem distribuídos entre fragmentos, uma instância do plug-in será executada em cada fragmento dos dados.