Operatore evaluate di plug-in

Richiama un'estensione di query sul lato servizio (plug-in).

L'operatore evaluate è un operatore tabulare che consente di richiamare le estensioni del linguaggio di query note come plug-in. A differenza di altri costrutti di linguaggio, i plug-in possono essere abilitati o disabilitati. I plug-in non sono "associati" alla natura relazionale del linguaggio. In altre parole, potrebbero non avere uno schema di output predefinito, determinato in modo statico.

Nota

  • evaluate Si comporta in modo analogo all'operatore invoke, che richiama funzioni tabulari.
  • I plug-in forniti tramite l'operatore di valutazione non sono associati alle regole regolari di esecuzione di query o valutazione degli argomenti.
  • I plug-in specifici possono avere restrizioni specifiche. Ad esempio, i plug-in il cui schema di output dipende dai dati. Ad esempio, non è possibile usare plug-in e plug-in pivot bag_unpack durante l'esecuzione di query tra cluster.

Sintassi

[T|] evaluate [ evaluateParameters ] PlugName([ PlugArgs ])

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
T string Input tabulare per il plug-in. Alcuni plug-in non accettano alcun input e fungono da origine dati tabulare.
evaluateParameters string Zero o più parametri di valutazione separati dallo spazio sotto forma diValorenome= che controllano il comportamento dell'operazione di valutazione e del piano di esecuzione. Ogni plug-in può decidere in modo diverso come gestire ogni parametro. Per un comportamento specifico, vedere la documentazione di ogni plug-in.
PlugName string ✔️ Nome obbligatorio del plug-in richiamato.
Plug-inArgs string Zero o più argomenti separati da virgole da fornire al plug-in.

Valutare i parametri

Sono supportati i seguenti parametri:

Nome Valori Descrizione
hint.distribution single, per_node, per_shard Hint di distribuzione
hint.pass_filters true, false Consenti evaluate all'operatore di passare attraverso tutti i filtri corrispondenti prima del plug-in. Il filtro viene considerato come "corrispondente" se fa riferimento a una colonna esistente prima dell'operatore evaluate . Valore predefinito: false
hint.pass_filters_column column_name Consenti all'operatore plug-in di filtri pass-through che fanno riferimento a column_name prima del plug-in. Il parametro può essere usato più volte con nomi di colonna diversi.

Plug-in

Sono supportati i plug-in seguenti:

Hint di distribuzione

Gli hint di distribuzione specificano come l'esecuzione del plug-in verrà distribuita in più nodi del cluster. Ogni plug-in può implementare un supporto diverso per la distribuzione. La documentazione del plug-in specifica le opzioni di distribuzione supportate dal plug-in.

Valori possibili:

  • single: un'unica istanza del plug-in verrà eseguita sull'intera query.
  • per_node: se la query prima della chiamata al plug-in viene distribuita tra nodi, un'istanza del plug-in verrà eseguita in ogni nodo sui dati contenuti.
  • per_shard: se i dati prima della chiamata al plug-in vengono distribuiti tra partizioni, un'istanza del plug-in verrà eseguita su ogni partizione dei dati.