Оператор evaluate для подключаемых модулей
Вызывает расширение запросов на стороне службы (подключаемый модуль).
Оператор evaluate
является табличным оператором, который позволяет вызывать расширения языка запросов, известные как подключаемые модули. В отличие от других языковых конструкций подключаемые модули можно включить или отключить. Подключаемые модули не связаны реляционной природой языка. Другими словами, они могут не иметь предопределенной, статически определенной выходной схемы.
Примечание
- Синтаксически
evaluate
ведет себя аналогично оператору invoke, который вызывает табличные функции. - Подключаемые модули, предоставляемые с помощью оператора evaluate, не связаны обычными правилами выполнения запроса или вычисления аргументов.
- Определенные подключаемые модули могут иметь определенные ограничения. Например, подключаемые модули, схема выходных данных которых зависит от данных. Например, подключаемый модуль bag_unpack и подключаемый модуль сводки нельзя использовать при выполнении запросов между кластерами.
Синтаксис
[T|
] evaluate
[ evaluateParameters ] PluginName(
[ PluginArgs ])
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
T | string |
Табличные входные данные для подключаемого модуля. Некоторые подключаемые модули не принимают никаких входных данных и действуют в качестве табличного источника данных. | |
evaluateParameters | string |
Ноль или более параметров оценки с разделителями пробелами в виде значения имени= , которые управляют поведением операции оценки и плана выполнения. Каждый подключаемый модуль может по-разному решать, как обрабатывать каждый параметр. Сведения об определенном поведении см. в документации по каждому подключаемого модуля. |
|
Имя подключаемого модуля | 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
- подключаемый модуль azure-digital-twins-query-request
- подключаемый модуль bag-unpack
- Подключаемый модуль basket
- Подключаемый модуль cosmosdb-sql-request
- Подключаемый модуль dcount-intersect
- Подключаемый модуль diffpatterns
- подключаемый модуль diffpatterns-text
- Подключаемый модуль infer-storage-schema
- Подключаемый модуль ipv4-lookup
- mysql-request-plugin
- Подключаемый модуль narrow
- Подключаемый модуль pivot
- Подключаемый модуль preview
- Подключаемый модуль R
- Подключаемый модуль скользящего процентиля
- подключаемый модуль rows-near
- Подключаемый модуль schema-merge
- Подключаемый модуль sql-request
- Подключаемый модуль sequence-detect
Указания по распространению
Указания по распространению указывают, как выполнение подключаемого модуля будет распределяться между несколькими узлами кластера. Каждый подключаемый модуль может реализовать разную поддержку дистрибутива. В документации подключаемого модуля указаны параметры распространения, поддерживаемые подключаемым модулем.
Возможные значения:
single
: один экземпляр подключаемого модуля будет выполняться по всем данным запроса.per_node
: если запрос перед вызовом подключаемого модуля распределяется между узлами, экземпляр подключаемого модуля будет выполняться на каждом узле с данными, которые он содержит.per_shard
: если данные перед вызовом подключаемого модуля распределяются по сегментам, экземпляр подключаемого модуля будет выполняться по каждому сегменту данных.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по