Поделиться через


Оператор 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_nodeper_shard Указания по распространению
hint.pass_filters true, false Разрешить evaluate оператору передавать все соответствующие фильтры перед подключаемым модулем. Фильтр считается сопоставленным, если он ссылается на столбец, существующий перед оператором evaluate . По умолчанию: false
hint.pass_filters_column column_name Разрешить оператору подключаемого модуля передавать фильтры, ссылающиеся на column_name перед подключаемым модулем. Параметр можно использовать несколько раз с разными именами столбцов.

Подключаемые модули

Поддерживаются следующие подключаемые модули:

Указания по распространению

Указания по распространению указывают, как будет распределено выполнение подключаемого модуля между несколькими узлами кластера. Каждый подключаемый модуль может реализовать другую поддержку распространения. Документация подключаемого модуля указывает параметры распространения, поддерживаемые подключаемым модулем.

Возможные значения:

  • single: один экземпляр подключаемого модуля будет выполняться по всем данным запроса.
  • per_node: если запрос перед вызовом подключаемого модуля распределяется по узлам, экземпляр подключаемого модуля будет выполняться на каждом узле по данным, содержащимся в нем.
  • per_shard: если данные перед вызовом подключаемого модуля распределяются по сегментам, экземпляр подключаемого модуля будет выполняться по каждому сегменту данных.