Оператор evaluate для подключаемых модулей
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Вызывает расширение запроса на стороне службы (подключаемый модуль).
Оператор evaluate
— это табличный оператор, который позволяет вызывать расширения языка запросов, известные как подключаемые модули. В отличие от других конструкций языка, подключаемые модули могут быть включены или отключены. Подключаемые модули не привязаны к реляционной природе языка. Другими словами, они могут не иметь предопределенную, статичную схему вывода.
Примечание.
- Синтаксически
evaluate
работает аналогично оператору вызова, который вызывает табличные функции. - Подключаемые модули, предоставляемые оператором оценки, не привязаны к обычным правилам выполнения запроса или оценке аргументов.
- Определенные подключаемые модули могут иметь определенные ограничения. Например, подключаемые модули, выходные схемы которых зависят от данных. Например, bag_unpack подключаемый модуль и подключаемый модуль сводной таблицы нельзя использовать при выполнении запросов между кластерами.
Синтаксис
[T] [ evaluateParameters ] evaluate
PluginName (
[ PluginArgs ]|
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
T | string |
Табличные входные данные подключаемого модуля. Некоторые подключаемые модули не принимают входные данные и действуют в качестве табличного источника данных. | |
evaluateParameters | string |
Нулевая или более разделенная пробелами оценка параметров в виде значения имени = , которые управляют поведением операции оценки и плана выполнения. Каждый подключаемый модуль может решать по-разному, как обрабатывать каждый параметр. Сведения о конкретном поведении см. в документации по каждому подключаемого модуля. |
|
Имя подключаемого модуля | string |
✔️ | Обязательное имя вызываемого подключаемого модуля. |
PluginArgs | string |
Ноль или несколько аргументов с разделительная запятыми для предоставления подключаемого модуля. |
Оценка параметров
Поддерживаются следующие параметры:
Имя. | Значения | Description |
---|---|---|
hint.distribution |
single , , per_node per_shard |
Указания по распространению |
hint.pass_filters |
true , false |
Разрешить evaluate оператору передавать все соответствующие фильтры перед подключаемым модулем. Фильтр считается сопоставленным, если он ссылается на столбец, существующий перед оператором evaluate . По умолчанию: false |
hint.pass_filters_column |
column_name | Разрешить оператору подключаемого модуля передавать фильтры, ссылающиеся на column_name перед подключаемым модулем. Параметр можно использовать несколько раз с разными именами столбцов. |
Подключаемые модули
Поддерживаются следующие подключаемые модули:
- Подключаемый модуль autocluster
- подключаемый модуль azure-digital-twins-query-request
- Подключаемый модуль для распаковки пакета
- Подключаемый модуль корзины
- подключаемый модуль cosmosdb-sql-request
- подключаемый модуль dcount-intersect
- Подключаемый модуль diffpatterns
- подключаемый модуль diffpatterns-text
- Подключаемый модуль схемы infer-storage-schema
- Подключаемый модуль ipv4-lookup
- Подключаемый модуль ipv6-lookup
- mysql-request-plugin
- узкий подключаемый модуль
- Подключаемый модуль сводной таблицы
- Подключаемый модуль предварительной версии
- Подключаемый модуль R
- подключаемый модуль скользящего процентиля
- подключаемый модуль rows-near
- Подключаемый модуль слияния схемы
- Подключаемый модуль sql-request
- Подключаемый модуль для определения последовательности
Указания по распространению
Указания по распространению указывают, как будет распределено выполнение подключаемого модуля между несколькими узлами кластера. Каждый подключаемый модуль может реализовать другую поддержку распространения. Документация подключаемого модуля указывает параметры распространения, поддерживаемые подключаемым модулем.
Возможные значения:
single
: один экземпляр подключаемого модуля будет выполняться по всем данным запроса.per_node
: если запрос перед вызовом подключаемого модуля распределяется по узлам, экземпляр подключаемого модуля будет выполняться на каждом узле по данным, содержащимся в нем.per_shard
: если данные перед вызовом подключаемого модуля распределяются по сегментам, экземпляр подключаемого модуля будет выполняться по каждому сегменту данных.