Plug-in dell'operatore evaluateevaluate operator plugins

Richiama un'estensione di query sul lato servizio (plug-in).Invokes a service-side query extension (plugin).

L' evaluate operatore è un operatore tabulare che offre la possibilità di richiamare estensioni del linguaggio di query note come plug-in.The evaluate operator is a tabular operator that provides the ability to invoke query language extensions known as plugins. I plug-in possono essere abilitati o disabilitati (a differenza di altri costrutti di linguaggio, sempre disponibili) e non sono "associati" dalla natura relazionale del linguaggio (ad esempio, potrebbero non avere uno schema di output predefinito, determinato in modo statico).Plugins can be enabled or disabled (unlike other language constructs, which are always available), and aren't "bound" by the relational nature of the language (for example, they may not have a predefined, statically determined, output schema).

Nota

  • In sintatticamente, evaluate si comporta in modo analogo all' operatore Invoke, che richiama le funzioni tabulari.Syntactically, evaluate behaves similarly to the invoke operator, which invokes tabular functions.
  • I plug-in forniti tramite l'operatore Evaluate non sono associati dalle regole regolari dell'esecuzione di query o della valutazione degli argomenti.Plugins provided through the evaluate operator aren't bound by the regular rules of query execution or argument evaluation.
  • Plug-in specifici possono avere limitazioni specifiche.Specific plugins may have specific restrictions. I plug-in con lo schema di output, ad esempio, dipendono dai dati, ad esempio bag_unpack plug -in e il plug-in pivot, non possono essere usati quando si eseguono query tra cluster.For example, plugins whose output schema depends on the data (for example, bag_unpack plugin and pivot plugin) can't be used when performing cross-cluster queries.

SintassiSyntax

[T | ] evaluate [ evaluateParameters ] pluginName ( [PluginArg1 [ , PluginArg2]...)[T |] evaluate [ evaluateParameters ] PluginName ( [PluginArg1 [, PluginArg2]... )

ArgomentiArguments

  • T è un input tabulare facoltativo per il plug-in.T is an optional tabular input to the plugin. Alcuni plug-in non accettano input e fungono da origine dati tabulare.(Some plugins don't take any input, and act as a tabular data source.)
  • PluginName è il nome obbligatorio del plug-in da richiamare.PluginName is the mandatory name of the plugin being invoked.
  • PluginArg1,... sono gli argomenti facoltativi per il plug-in.PluginArg1, ... are the optional arguments to the plugin.
  • evaluateParameters: zero o più parametri (separati da spazi) sotto forma di valore del nome = Value che controllano il comportamento dell'operazione di valutazione e del piano di esecuzione.evaluateParameters: Zero or more (space-separated) parameters in the form of Name = Value that control the behavior of the evaluate operation and execution plan. Ogni plug-in può decidere in modo diverso come gestire ogni parametro.Each plugin may decide differently how to handle each parameter. Per un comportamento specifico, vedere la documentazione di ogni plug-in.Refer to each plugin's documentation for specific behavior.

ParametriParameters

Sono supportati i seguenti parametri:The following parameters are supported:

NomeName ValoriValues DescrizioneDescription
hint.distribution single, per_node, per_shardsingle, per_node, per_shard Suggerimenti per la distribuzioneDistribution hints
hint.pass_filters true, falsetrue, false Consenti evaluate all'operatore di pass-through di tutti i filtri corrispondenti prima del plug-in.Allow evaluate operator to passthrough any matching filters before the plugin. Filter viene considerato come ' Matched ' se fa riferimento a una colonna esistente prima dell' evaluate operatore.Filter is considered as 'matched' if it refers to a column existing before the evaluate operator. Valore predefinito: falseDefault: false
hint.pass_filters_column column_namecolumn_name Consenti all'operatore plug-in di filtrare i filtri pass-through che fanno riferimento a column_name prima del plug-inAllow plugin operator to passthrough filters referring to column_name before the plugin. Il parametro può essere utilizzato più volte con nomi di colonna diversi.Parameter can be used multiple times with different column names.

Suggerimenti per la distribuzioneDistribution hints

Gli hint di distribuzione specificano come verrà distribuita l'esecuzione del plug-in tra più nodi del cluster.Distribution hints specify how the plugin execution will be distributed across multiple cluster nodes. Ogni plug-in può implementare un supporto diverso per la distribuzione.Each plugin may implement a different support for the distribution. La documentazione del plug-in specifica le opzioni di distribuzione supportate dal plug-in.The plugin's documentation specifies the distribution options supported by the plugin.

Valori possibili:Possible values:

  • single: Una singola istanza del plug-in viene eseguita su tutti i dati della query.single: A single instance of the plugin will run over the entire query data.
  • per_node: Se la query prima della chiamata del plug-in viene distribuita tra i nodi, viene eseguita un'istanza del plug-in su ogni nodo sui dati in esso contenuti.per_node: If the query before the plugin call is distributed across nodes, then an instance of the plugin will run on each node over the data that it contains.
  • per_shard: Se i dati prima della chiamata del plug-in vengono distribuiti tra le partizioni, un'istanza del plug-in verrà eseguita su ogni partizione dei dati.per_shard: If the data before the plugin call is distributed across shards, then an instance of the plugin will run over each shard of the data.