operator wtyczki oceny

Wywołuje rozszerzenie zapytania po stronie usługi (wtyczka).

Operator evaluate jest operatorem tabelarycznym, który umożliwia wywoływanie rozszerzeń języka zapytań nazywanych wtyczkami. W przeciwieństwie do innych konstrukcji językowych można włączyć lub wyłączyć wtyczki. Wtyczki nie są "powiązane" ze względu na charakter relacyjny języka. Innymi słowy, mogą nie mieć wstępnie zdefiniowanego, statycznie określonego schematu wyjściowego.

Uwaga

  • Składniowo evaluate zachowuje się podobnie do operatora invoke, który wywołuje funkcje tabelaryczne.
  • Wtyczki udostępniane za pośrednictwem operatora oceny nie są powiązane z regularnymi regułami wykonywania zapytań ani oceny argumentów.
  • Określone wtyczki mogą mieć określone ograniczenia. Na przykład wtyczki, których schemat wyjściowy zależy od danych. Na przykład nie można użyć wtyczki bag_unpack i wtyczki przestawnej podczas wykonywania zapytań między klastrami.

Składnia

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

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
T string Dane wejściowe tabelaryczne wtyczki. Niektóre wtyczki nie przyjmują żadnych danych wejściowych i działają jako tabelaryczne źródło danych.
evaluateParameters string Zero lub więcej rozdzielonych spacjami parametrów oceny w postaci wartości nazwy=, które kontrolują zachowanie operacji oceny i planu wykonania. Każda wtyczka może zdecydować inaczej, jak obsłużyć każdy parametr. Zapoznaj się z dokumentacją każdej wtyczki, aby poznać konkretne zachowanie.
PluginName string ✔️ Obowiązkowa nazwa wywoływanej wtyczki.
PluginArgs string Zero lub więcej argumentów rozdzielonych przecinkami w celu udostępnienia wtyczki.

Ocena parametrów

Obsługiwane są następujące parametry:

Nazwa Wartości Opis
hint.distribution single, per_node, per_shard Wskazówki dotyczące dystrybucji
hint.pass_filters true, false Zezwalaj operatorowi na evaluate przekazywanie wszelkich pasujących filtrów przed wtyczką. Filtr jest traktowany jako "dopasowany", jeśli odwołuje się do kolumny istniejącej przed operatorem evaluate . Domyślny: false
hint.pass_filters_column Column_name Zezwalaj operatorowi wtyczki na przekazywanie filtrów odwołujące się do column_name przed wtyczką. Parametr może być używany wiele razy z różnymi nazwami kolumn.

Wtyczki

Obsługiwane są następujące wtyczki:

Wskazówki dotyczące dystrybucji

Wskazówki dotyczące dystrybucji określają sposób dystrybucji wykonywania wtyczki między wieloma węzłami klastra. Każda wtyczka może zaimplementować inną obsługę dystrybucji. Dokumentacja wtyczki określa opcje dystrybucji obsługiwane przez wtyczkę.

Możliwe wartości:

  • single: pojedyncze wystąpienie wtyczki zostanie uruchomione na wszystkich danych zapytania.
  • per_node: Jeśli zapytanie przed wywołaniem wtyczki jest dystrybuowane między węzłami, wystąpienie wtyczki zostanie uruchomione w każdym węźle nad danymi, które zawiera.
  • per_shard: Jeśli dane przed wywołaniem wtyczki są dystrybuowane między fragmentami, wystąpienie wtyczki zostanie uruchomione nad każdym fragmentem danych.