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:
- Plug-in autocluster
- plug-in azure-digital-twins-query-request
- plug-in bag-unpack
- Plug-in basket
- plug-in cosmosdb-sql-request
- plug-in dcount-intersect
- Plug-in diffpatterns
- plug-in diffpatterns-text
- plug-in infer-storage-schema
- plug-in ipv4-lookup
- mysql-request-plugin
- Plug-in narrow
- Plug-in pivot
- Plug-in preview
- Plug-in R
- plug-in de percentil sem interrupção
- plug-in de linhas próximas
- plug-in schema-merge
- plug-in de solicitação sql
- plug-in de detecção de sequência
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de