Condividi tramite


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 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 "vincolati" dalla natura relazionale del linguaggio. In altre parole, potrebbero non avere uno schema di output predefinito, determinato in modo statico.

Nota

  • Sintatticamente, evaluate si comporta in modo analogo all'operatore invoke, che richiama funzioni tabulari.
  • I plug-in forniti tramite l'operatore evaluate non sono vincolati dalle normali regole di esecuzione o valutazione degli argomenti delle query.
  • Alcuni plug-in specifici possono avere restrizioni specifiche. Ad esempio, i plug-in il cui schema di output dipende dai dati. Ad esempio, bag_unpack plug-in e plug-in pivot non può essere usato quando si eseguono query tra cluster.

Sintassi

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

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio 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 da spazio sotto forma di Valore nome = 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.
PluginName string ✔️ Nome obbligatorio del plug-in richiamato.
PluginArgs string Zero o più argomenti delimitati 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 i filtri corrispondenti prima del plug-in. Il filtro viene considerato come "corrispondente" se fa riferimento a una colonna esistente prima dell'operatore evaluate . Impostazione predefinita: false
hint.pass_filters_column column_name Consenti all'operatore plugin di passare filtri 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 il modo in cui l'esecuzione del plug-in verrà distribuita tra 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: una singola istanza del plug-in verrà eseguita su tutti i dati della query.
  • per_node: se la query prima della chiamata al plug-in viene distribuita tra i 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.