evaluate-Plug-In-Operator

Ruft eine dienstseitige Abfrageerweiterung (Plug-In) auf.

Der evaluate Operator ist ein tabellarischer Operator, mit dem Sie Abfragespracherweiterungen aufrufen können, die als Plug-Ins bezeichnet werden. Im Gegensatz zu anderen Sprachkonstrukten können Plug-Ins aktiviert oder deaktiviert werden. Plugins sind nicht durch die relationale Natur der Sprache "gebunden". Mit anderen Worten, sie verfügen möglicherweise nicht über ein vordefiniertes, statisch bestimmtes Ausgabeschema.

Hinweis

  • Syntaktisch evaluate verhält sich ähnlich wie der Aufrufoperator, der tabellarische Funktionen aufruft.
  • Plugins, die über den Evaluate-Operator bereitgestellt werden, sind nicht an die regulären Regeln der Abfrageausführung oder Argumentauswertung gebunden.
  • Bestimmte Plug-Ins können bestimmte Einschränkungen aufweisen. Beispielsweise Plug-Ins, deren Ausgabeschema von den Daten abhängt. Beispielsweise können bag_unpack Plug-In und Pivot-Plug-In nicht verwendet werden, wenn Clusterübergreifende Abfragen ausgeführt werden.

Syntax

[T|] evaluate [ evaluateParameters ] PluginName([ PluginArgs ])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich Beschreibung
T string Eine tabellarische Eingabe für das Plug-In. Einige Plug-Ins nehmen keine Eingaben und fungieren als tabellarische Datenquelle.
evaluateParameters string Null oder mehr leergetrennte Auswertungsparameter in Form von Name=Value , die das Verhalten des Auswertungsvorgangs und des Ausführungsplans steuern. Jedes Plug-In kann unterschiedlich entscheiden, wie die einzelnen Parameter behandelt werden sollen. Spezifisches Verhalten finden Sie in der Dokumentation der einzelnen Plug-Ins.
Plug-In-Name string ✔️ Der obligatorische Name des aufgerufenen Plug-Ins.
PluginArgs string Null oder mehr durch Trennzeichen getrennte Argumente, die für das Plug-In bereitgestellt werden sollen.

Parameter auswerten

Die folgenden Parameter werden unterstützt:

Name Werte Beschreibung
hint.distribution single, per_node, per_shard Verteilungshinweise
hint.pass_filters true, false Erlauben Sie evaluate dem Operator, alle übereinstimmenden Filter vor dem Plug-In zu durchlaufen. Filter wird als "übereinstimmend" betrachtet, wenn er auf eine Spalte verweist, die vor dem evaluate Operator vorhanden ist. Standardwert: false
hint.pass_filters_column column_name Zulassen, dass der Plug-In-Operator Filter durchlaufen kann, die sich auf column_name vor dem Plug-In beziehen. Parameter können mehrmals mit unterschiedlichen Spaltennamen verwendet werden.

Plug-Ins

Die folgenden Plug-Ins werden unterstützt:

Verteilungshinweise

Verteilungshinweise geben an, wie die Plug-In-Ausführung auf mehrere Clusterknoten verteilt wird. Jedes Plug-In kann eine andere Unterstützung für die Distribution implementieren. Die Dokumentation des Plug-Ins gibt die vom Plug-In unterstützten Verteilungsoptionen an.

Mögliche Werte:

  • single: Ein einzelner instance des Plug-Ins wird über die gesamten Abfragedaten ausgeführt.
  • per_node: Wenn die Abfrage vor dem Plug-In-Aufruf auf Knoten verteilt wird, wird ein instance des Plug-Ins auf jedem Knoten über die darin enthaltenen Daten ausgeführt.
  • per_shard: Wenn die Daten vor dem Plug-In-Aufruf auf Shards verteilt werden, wird ein instance des Plug-Ins über jeden Shard der Daten ausgeführt.