evaluate 插件运算符
适用于:✅Azure 数据资源管理器
调用服务端查询扩展(插件)。
evaluate
运算符是一个表格运算符,可用于调用称为“插件”的查询语言扩展。 与其他语言构造不同,可以启用或禁用插件。 插件不受语言关系性质“约束”。 换句话说,它们可能没有预定义的、静态确定的输出架构。
注意
- 从语法上讲,
evaluate
的行为类似于 invoke 运算符,后者可调用表格函数。 - 通过 evaluate 运算符提供的插件不受查询执行或参数评估的常规规则约束。
- 特定插件可能有特定的限制。 例如,其输出架构依赖于数据的插件。 例如,在执行跨群集查询时不能使用 bag_unpack 插件和 pivot 插件。
语法
[T|
] evaluate
[ evaluateParameters ] PluginName (
[ PluginArgs ])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
T | string |
插件的表格输入。 某些插件不接受任何输入,而充当表格数据源。 | |
evaluateParameters | string |
零个或零个以上以空格分隔并以 Name = Value 形式表示的求值参数,用于控制求值操作和执行计划的行为。 每个插件可能会以不同方式确定如何处理每个参数。 有关具体行为,请参阅每个插件的文档。 |
|
PluginName | string |
✔️ | 调用的插件的名称,为必需项。 |
PluginArgs | string |
要提供给插件的零个或多个以逗号分隔的参数。 |
求值参数
支持以下参数:
名称 | 值 | 描述 |
---|---|---|
hint.distribution |
single , per_node , per_shard |
分布提示 |
hint.pass_filters |
true , false |
允许 evaluate 运算符在插件之前传递任何匹配筛选器。 如果筛选器引用存在于 evaluate 运算符之前的列,则认为它是“匹配的”。 默认:false |
hint.pass_filters_column |
column_name | 允许插件运算符传递筛选器来引用插件前的 column_name。 参数可多次用于不同的列名称。 |
插件
支持以下插件:
- autocluster 插件
- bag-unpack 插件
- basket 插件
- cosmosdb-sql-request 插件
- dcount-intersect 插件
- diffpatterns 插件
- diffpatterns-text 插件
- infer-storage-schema 插件
- ipv4-lookup 插件
- ipv6-lookup plugin
- mysql-request 插件
- narrow 插件
- pivot 插件
- preview 插件
- R 插件
- rolling-percentile 插件
- rows-near 插件
- schema-merge 插件
- sql-request 插件
- sequence-detect 插件
分布提示
分布提示指定如何在多个群集节点之间分布插件执行。 每个插件可能会针对分布提供不同的支持。 插件的文档指定了插件支持的分布选项。
可能的值:
single
:插件的单个实例将针对整个查询数据运行。per_node
:如果在插件调用之前的查询分布在节点之间,则会在每个节点上针对其包含的数据运行插件的一个实例。per_shard
:如果在插件调用之前的数据分布在分片之间,则会针对数据的每个分片运行插件的一个实例。