Delen via


evaluate plugin-operator

Hiermee wordt een queryextensie (invoegtoepassing) aan de servicezijde aangeroepen.

De evaluate operator is een tabellaire operator waarmee u querytaalextensies kunt aanroepen die invoegtoepassingen worden genoemd. In tegenstelling tot andere taalconstructies kunnen invoegtoepassingen worden in- of uitgeschakeld. Invoegtoepassingen zijn niet 'gebonden' aan de relationele aard van de taal. Met andere woorden, ze hebben mogelijk geen vooraf gedefinieerd, statisch bepaald uitvoerschema.

Notitie

  • Syntactisch evaluate gedraagt zich op dezelfde manier als de operator aanroepen, die tabellaire functies aanroept.
  • Invoegtoepassingen die via de evaluatieoperator worden geleverd, zijn niet gebonden aan de reguliere regels voor het uitvoeren van query's of argumentevaluatie.
  • Specifieke invoegtoepassingen kunnen specifieke beperkingen hebben. Bijvoorbeeld invoegtoepassingen waarvan het uitvoerschema afhankelijk is van de gegevens. Bag_unpack-invoegtoepassing en draaiinvoegtoepassing kunnen bijvoorbeeld niet worden gebruikt bij het uitvoeren van clusteroverschrijdende query's.

Syntax

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

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
T string Een tabellaire invoer voor de invoegtoepassing. Sommige invoegtoepassingen nemen geen invoer op en fungeren als gegevensbron in tabelvorm.
evaluateParameters string Nul of meer door spaties gescheiden evaluatieparameters in de vorm van Naamwaarde= die het gedrag van de evaluatiebewerking en het uitvoeringsplan bepalen. Elke invoegtoepassing kan anders bepalen hoe elke parameter moet worden verwerkt. Raadpleeg de documentatie van elke invoegtoepassing voor specifiek gedrag.
PluginName string ✔️ De verplichte naam van de invoegtoepassing die wordt aangeroepen.
PluginArgs string Nul of meer door komma's gescheiden argumenten om aan de invoegtoepassing op te geven.

Parameters evalueren

De volgende parameters worden ondersteund:

Naam Waarden Beschrijving
hint.distribution single, per_node, per_shard Distributiehints
hint.pass_filters true, false Hiermee staat u toe dat evaluate de operator alle overeenkomende filters vóór de invoegtoepassing passthrough. Het filter wordt beschouwd als 'overeenkomend' als het verwijst naar een kolom die vóór de evaluate operator bestaat. Standaard: false
hint.pass_filters_column column_name Sta toe dat de operator van de invoegtoepassing passthroughfilters gebruikt die verwijzen naar column_name vóór de invoegtoepassing. Parameter kan meerdere keren worden gebruikt met verschillende kolomnamen.

Invoegtoepassingen

De volgende invoegtoepassingen worden ondersteund:

Distributiehints

Distributiehints geven aan hoe de uitvoering van de invoegtoepassing wordt verdeeld over meerdere clusterknooppunten. Elke invoegtoepassing kan een andere ondersteuning voor de distributie implementeren. De documentatie van de invoegtoepassing bevat de distributieopties die door de invoegtoepassing worden ondersteund.

Mogelijke waarden:

  • single: er wordt één exemplaar van de invoegtoepassing uitgevoerd voor de volledige querygegevens.
  • per_node: Als de query vóór de aanroep van de invoegtoepassing wordt gedistribueerd over knooppunten, wordt een exemplaar van de invoegtoepassing uitgevoerd op elk knooppunt over de gegevens die het bevat.
  • per_shard: als de gegevens voordat de invoegtoepassing wordt aangeroepen, worden verdeeld over shards, wordt een exemplaar van de invoegtoepassing uitgevoerd op elke shard van de gegevens.