Gambaran umum Bahasa Kueri Kusto (KQL)

Bahasa Kueri Kusto merupakan alat yang ampuh untuk menjelajahi data Anda serta menemukan pola, mengidentifikasi anomali dan pengecualian, membuat pemodelan statistik, dan banyak lagi. Kueri ini menggunakan entitas skema yang diatur dalam hierarki yang mirip dengan SQL: database, tabel, dan kolom.

Apa yang dimaksud dengan kueri Kusto?

Kueri Kusto adalah permintaan hanya-baca untuk memproses data dan mengembalikan hasil. Permintaan dinyatakan dalam teks biasa yang mudah dibaca, ditulis, serta diotomatisasi. Kueri Kusto dibuat dari satu ataupun beberapa pernyataan kueri.

Apa yang dimaksud dengan pernyataan kueri?

Terdapat tiga jenis pernyataan kueri pengguna:

Semua pernyataan kueri dipisahkan oleh ; (titik koma), dan hanya memengaruhi kueri yang telah ada.

Catatan

Untuk informasi mengenai pernyataan kueri aplikasi, lihat Pernyataan kueri aplikasi.

Jenis pernyataan kueri yang paling umum adalah pernyataan ekspresi tabular, yang berarti input dan outputnya terdiri dari tabel atau himpunan data tabular. Pernyataan tabular berisi nol atau lebih operator, yang masing-masing dimulai dengan input tabular dan mengembalikan output tabular. Operator diurutkan berdasarkan | (pipa). Aliran data, atau disalurkan, dari satu operator ke operator berikutnya. Data disaring atau dimanipulasi pada setiap langkah lalu dimasukkan ke langkah berikutnya.

Ini seperti corong, tempat Anda memulai dengan seluruh tabel data. Setiap kali data melewati operator lain, data disaring, disusun ulang, atau diringkas. Karena pengarahan informasi dari satu operator ke operator lain berurutan, urutan operator kueri menjadi penting dan memengaruhi hasil serta kinerjanya. Di akhir corong, Anda akan mendapatkan output yang disempurnakan.

Mari kita lihat contoh kueri.

StormEvents 
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"  
| count 

Catatan

KQL bersifat peka huruf besar/kecil untuk semuanya – nama tabel, nama kolom tabel, operator, fungsi, dan sebagainya.

Kueri ini memiliki pernyataan ekspresi tabular tunggal. Pernyataan dimulai dengan referensi ke tabel yang disebut StormEvents dan berisi beberapa operator, yaitu where dan count, masing-masing dipisahkan oleh sebuah alur. Baris data untuk tabel sumber difilter berdasarkan nilai kolom StartTime lalu difilter berdasarkan nilai kolom Status. Di baris terakhir, kueri mengembalikan tabel dengan satu kolom dan satu baris yang berisi jumlah baris yang tersisa.

Jalankan kueri ini untuk melihat hasilnya:

Count
28

Guna mencoba beberapa kueri Kusto lainnya, lihat Tutorial: Gunakan kueri Kusto.

Perintah kontrol

Berbeda dengan kueri Kusto, Perintah kontrol merupakan permintaan kepada Kusto untuk memproses atau memodifikasi data atau metadata. Misalnya, perintah kontrol berikut ini membuat tabel Kusto baru dengan dua kolom, Level dan Text:

.create table Logs (Level:string, Text:string)

Perintah kontrol memiliki sintaksisnya sendiri, yang bukan bagian dari sintaksis Bahasa Kueri Kusto, meskipun keduanya memiliki banyak konsep yang sama. Secara khusus, perintah kontrol berbeda dari kueri karena mengubah karakter pertama dalam teks perintah menjadi karakter titik (.) (yang tidak dapat memulai kueri). Perbedaan ini mencegah berbagai jenis serangan keamanan, karena tidak menyertakan perintah kontrol di dalam kueri.

Tidak semua perintah kontrol mengubah data ataupun metadata. Kelas besar perintah yang dimulai dengan .show, digunakan untuk menampilkan metadata ataupun data. Misalnya, perintah .show tables akan menampilkan daftar semua tabel dalam database saat ini.

Untuk informasi selengkapnya tentang perintah kontrol, lihat Gambaran umum manajemen (perintah kontrol).

Langkah berikutnya