evaluate plugin operator
Invokes a service-side query extension (plugin).
evaluate operator is a tabular operator that allows you to invoke query language extensions known as plugins. Unlike other language constructs, plugins can be enabled or disabled. Plugins aren't "bound" by the relational nature of the language. In other words, they may not have a predefined, statically determined, output schema.
evaluatebehaves similarly to the invoke operator, which invokes tabular functions.
- Plugins provided through the evaluate operator aren't bound by the regular rules of query execution or argument evaluation.
- Specific plugins may have specific restrictions. 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.
evaluate [ evaluateParameters ] PluginName
( [PluginArg1 [
- T is an optional tabular input to the plugin. (Some plugins don't take any input, and act as a tabular data source.)
- PluginName is the mandatory name of the plugin being invoked.
- PluginArg1, ... are the optional arguments to the plugin.
- evaluateParameters: Zero or more (space-separated) parameters in the form of
=Value that control the behavior of the evaluate operation and execution plan. Each plugin may decide differently how to handle each parameter. Refer to each plugin's documentation for specific behavior.
The following parameters are supported:
||column_name||Allow plugin operator to passthrough filters referring to column_name before the plugin. Parameter can be used multiple times with different column names.|
The following plugins are supported:
- autocluster plugin
- azure-digital-twins-query-request plugin
- bag-unpack plugin
- basket plugin
- cosmosdb-sql-request plugin
- dcount-intersect plugin
- diffpatterns plugin
- diffpatterns-text plugin
- infer-storage-schema plugin
- ipv4-lookup plugin
- narrow plugin
- pivot plugin
- preview plugin
- R plugin
- rolling-percentile plugin
- rows-near plugin
- schema-merge plugin
- sql-request plugin
- sequence-detect plugin
Distribution hints specify how the plugin execution will be distributed across multiple cluster nodes. Each plugin may implement a different support for the distribution. The plugin's documentation specifies the distribution options supported by the plugin.
single: A single instance of the plugin will run over the entire query data.
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: 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.