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, serta banyak lagi. KQL adalah bahasa sederhana namun kuat untuk mengkueri data terstruktur, semi terstruktur, dan tidak terstruktur. Bahasa ini ekspresif, mudah dibaca dan dipahami niat kueri, dan dioptimalkan untuk pengalaman penulisan. Bahasa Kueri Kusto optimal untuk mengkueri telemetri, metrik, dan log dengan dukungan mendalam untuk pencarian dan penguraian teks, operator dan fungsi rangkaian waktu, analitik dan agregasi, geospasial, pencarian kesamaan vektor, dan banyak konstruksi bahasa lainnya yang menyediakan bahasa yang paling optimal untuk analisis data. Kueri menggunakan entitas skema yang diatur dalam hierarki yang mirip dengan SQL: database, tabel, dan kolom.

Artikel ini memberikan penjelasan tentang bahasa kueri dan menawarkan latihan praktis untuk membuat Anda mulai menulis kueri. Untuk mengakses lingkungan kueri, gunakan antarmuka pengguna web Azure Data Explorer. Untuk mempelajari cara menggunakan KQL, lihat Tutorial: Pelajari operator umum.

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 difilter, disusun ulang, atau diringkas. Karena pipa informasi dari satu operator ke operator lain berurutan, urutan operator kueri penting, dan dapat memengaruhi hasil dan performa. 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 
Count
28

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.

Untuk mencoba beberapa kueri Kusto lainnya, lihat Tutorial: Menulis kueri Kusto.

Perintah manajemen

Berbeda dengan kueri Kusto, perintah Manajemen adalah permintaan ke Kusto untuk memproses atau memodifikasi data atau metadata. Misalnya, perintah manajemen berikut membuat tabel Kusto baru dengan dua kolom, Level dan Text:

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

Perintah manajemen memiliki sintaksnya sendiri, yang bukan bagian dari sintaks Bahasa Kueri Kusto, meskipun keduanya berbagi banyak konsep. Secara khusus, perintah manajemen dibedakan dari kueri dengan memiliki karakter pertama dalam teks perintah menjadi karakter titik (.) (yang tidak dapat memulai kueri). Perbedaan ini mencegah banyak jenis serangan keamanan, hanya karena mencegah penyematan perintah manajemen di dalam kueri.

Tidak semua perintah manajemen mengubah data atau 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 manajemen, lihat Gambaran umum perintah manajemen.

KQL di layanan lain

KQL digunakan oleh banyak layanan Microsoft lainnya. Untuk informasi spesifik tentang penggunaan KQL di lingkungan ini, lihat tautan berikut: