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
([ PluginArgs ]
|T||string||A tabular input to the plugin. Some plugins don't take any input and act as a tabular data source.|
|evaluateParameters||string||Zero or more space-separated evaluate parameters in the form of Name
|PluginName||string||✓||The mandatory name of the plugin being invoked.|
|PluginArgs||string||Zero or more comma-separated arguments to the plugin.|
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.