Megosztás a következőn keresztül:


evaluate plugin operátor

Meghív egy szolgáltatásoldali lekérdezésbővítményt (plugin).

Az evaluate operátor egy táblázatos operátor, amely lehetővé teszi a beépülő moduloknak nevezett lekérdezési nyelvbővítmények meghívását. Más nyelvi szerkezetektől eltérően a beépülő modulok engedélyezhetők vagy letilthatók. A beépülő modulok nem kötődnek a nyelv relációs jellegéhez. Más szóval előfordulhat, hogy nem rendelkezik előre definiált, statikusan meghatározott kimeneti sémával.

Megjegyzés

  • Szintaktikailag ugyanúgy viselkedik, evaluate mint a meghívási operátor, amely táblázatos függvényeket hív meg.
  • Az kiértékelési operátoron keresztül biztosított beépülő modulokra nem vonatkoznak a lekérdezések végrehajtásának vagy argumentumok kiértékelésének szokásos szabályai.
  • Bizonyos beépülő modulokra bizonyos korlátozások vonatkozhatnak. Például olyan beépülő modulok, amelyek kimeneti sémája az adatoktól függ. Például bag_unpack beépülő modul és kimutatás beépülő modul nem használható fürtök közötti lekérdezések végrehajtásakor.

Syntax

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

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
T string Táblázatos bemenet a beépülő modulhoz. Egyes beépülő modulok nem használnak bemenetet, és táblázatos adatforrásként működnek.
evaluateParameters string Nulla vagy több szóközzel elválasztott kiértékelési paramétereknévérték= formájában, amelyek a kiértékelési művelet és a végrehajtási terv viselkedését szabályozzák. Minden beépülő modul eltérően döntheti el, hogyan kezelje az egyes paramétereket. A speciális viselkedésről az egyes beépülő modulok dokumentációjában tájékozódhat.
PluginName string ✔️ A meghívandó beépülő modul kötelező neve.
PluginArgs string Nulla vagy több vesszővel tagolt argumentum a beépülő modulnak való megadásához.

Paraméterek kiértékelése

A következő paraméterek támogatottak:

Name Értékek Leírás
hint.distribution single, per_node, per_shard Terjesztési tippek
hint.pass_filters true, false Engedélyezze evaluate az operátornak, hogy átengedje az egyező szűrőket a beépülő modul előtt. A szűrő akkor minősül "egyezőnek", ha az operátor előtt evaluate létező oszlopra hivatkozik. Alapértelmezett: false
hint.pass_filters_column column_name Engedélyezze, hogy a beépülő modul operátora átengedje a beépülő modul előtti column_name hivatkozó szűrőket. A paraméter többször is használható különböző oszlopnevekkel.

Beépülő modulok

A következő beépülő modulok támogatottak:

Terjesztési tippek

A terjesztési tippek meghatározzák, hogy a beépülő modul végrehajtása hogyan lesz elosztva több fürtcsomópont között. Minden beépülő modul eltérő támogatást nyújthat a disztribúcióhoz. A beépülő modul dokumentációja meghatározza a beépülő modul által támogatott terjesztési lehetőségeket.

Lehetséges értékek:

  • single: A beépülő modul egyetlen példánya fut végig a teljes lekérdezési adatokon.
  • per_node: Ha a beépülő modul hívása előtti lekérdezés el van osztva a csomópontok között, akkor a beépülő modul egy példánya fut az egyes csomópontokon a benne található adatokon keresztül.
  • per_shard: Ha a beépülő modul hívása előtti adatok el lesznek osztva a szegmensek között, akkor a beépülő modul egy példánya az adatok minden szegmensén átfut.