mengevaluasi operator plugin

Memanggil ekstensi kueri sisi layanan (plugin).

Operator evaluate adalah operator tabular yang memungkinkan Anda memanggil ekstensi bahasa kueri yang dikenal sebagai plugin. Tidak seperti konstruksi bahasa lain, plugin dapat diaktifkan atau dinonaktifkan. Plugin tidak "terikat" oleh sifat relasional bahasa. Dengan kata lain, mereka mungkin tidak memiliki skema output yang telah ditentukan sebelumnya dan ditentukan secara statis.

Catatan

  • Secara sintaksis, evaluate berperilaku serupa dengan operator pemanggilan, yang memanggil fungsi tabular.
  • Plugin yang disediakan melalui operator evaluasi tidak terikat oleh aturan reguler eksekusi kueri atau evaluasi argumen.
  • Plugin tertentu mungkin memiliki batasan khusus. Misalnya, plugin yang skema outputnya bergantung pada data. Misalnya, plugin bag_unpack dan plugin pivot tidak dapat digunakan saat melakukan kueri lintas kluster.

Sintaks

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

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
T string Input tabular ke plugin. Beberapa plugin tidak mengambil input apa pun dan bertindak sebagai sumber data tabular.
evaluateParameters string Nol atau lebih parameter evaluasi yang dipisahkan spasi dalam bentukNilaiNama= yang mengontrol perilaku operasi evaluasi dan rencana eksekusi. Setiap plugin dapat memutuskan secara berbeda cara menangani setiap parameter. Lihat dokumentasi masing-masing plugin untuk perilaku tertentu.
PluginName string ✔️ Nama wajib plugin yang dipanggil.
PluginArgs string Nol atau lebih argumen yang dipisahkan koma untuk disediakan ke plugin.

Mengevaluasi parameter

Parameter berikut didukung oleh:

Nama Nilai Deskripsi
hint.distribution single, per_node, per_shard Petunjuk distribusi
hint.pass_filters true, false Izinkan operator evaluate untuk melewati filter yang cocok sebelum plugin. Filter dianggap sebagai 'cocok' jika mengacu pada kolom yang ada sebelum operator evaluate. Default: false
hint.pass_filters_column column_name Izinkan operator plugin untuk melewati filter yang mengacu pada column_name sebelum plugin. Parameter dapat digunakan beberapa kali dengan nama kolom yang berbeda.

Plugin

Plugin berikut didukung:

Petunjuk distribusi

Petunjuk distribusi menentukan cara eksekusi plugin akan didistribusikan di beberapa node kluster. Setiap plugin dapat menerapkan dukungan yang berbeda untuk distribusi. Dokumentasi plugin menentukan opsi distribusi yang didukung oleh plugin.

Nilai yang memungkinkan:

  • single: Satu instans plugin akan berjalan di seluruh data kueri.
  • per_node: Jika kueri sebelum panggilan plugin didistribusikan di seluruh node, maka instans plugin akan berjalan pada setiap node di atas data yang dikandungnya.
  • per_shard: Jika data sebelum panggilan plugin didistribusikan di seluruh pecahan, maka instans plugin akan berjalan di atas setiap shard data.