Referensi Bahasa Kueri Azure Stream Analytics

Azure Stream Analytics menawarkan bahasa kueri SQL untuk melakukan transformasi dan komputasi melalui aliran peristiwa.

Bahasa Kueri Azure Stream Analytics, subset sintaks T-SQL

Dokumen ini menguraikan sintaks, penggunaan, dan praktik terbaik untuk bahasa kueri Azure Stream Analytics. Semua contoh yang digunakan dalam dokumen ini bergantung pada skenario pintu tol seperti yang dijelaskan di bawah ini.

Bahasa kueri Azure Stream Analytics adalah subset sintaks T-SQL standar untuk melakukan komputasi Streaming.

Skenario pintu tol

Stasiun tol adalah fenomena umum - kami menemukannya di banyak jalan tol, jembatan, dan terowongan di seluruh dunia. Setiap stasiun tol memiliki beberapa pintu tol, yang mungkin manual - yang berarti Anda berhenti untuk membayar tol kepada petugas, atau otomatis - di mana sensor yang ditempatkan di atas pintu memindai kartu RFID yang ditempelkan ke kaca depan kendaraan Anda saat Anda melewati pintu tol. Sangat mudah untuk memvisualisasikan perlintasan kendaraan melalui stasiun-stasiun tol ini sebagai aliran peristiwa tempat operasi yang menarik dapat dilakukan.

Waktu Kedatangan Vs Waktu Aplikasi

Dalam sistem temporal apa pun seperti Azure Stream Analytics, penting untuk memahami kemajuan waktu. Setiap peristiwa yang mengalir melalui sistem dilengkapi dengan tanda waktu yang dapat diakses melalui System.Timestamp(). Dengan kata lain setiap peristiwa dalam sistem kami menggambarkan titik waktu. Tanda waktu ini dapat menjadi waktu aplikasi yang dapat ditentukan pengguna dalam kueri atau sistem dapat menetapkan berdasarkan waktu kedatangan. Waktu kedatangan memiliki arti yang berbeda berdasarkan sumber input. Untuk peristiwa dari Azure Event Hub, waktu kedatangan adalah tanda waktu yang diberikan oleh pusat aktivitas; untuk penyimpanan Blob, ini adalah waktu modifikasi terakhir blob. Tanda waktu adalah titik waktu yang relevan untuk menangkap atau menganalisis data. Jika pengguna ingin menggunakan waktu aplikasi, mereka dapat melakukannya menggunakan kata kunci TIMESTAMP BY . Dalam skenario di atas, itu adalah masuknya kendaraan ke pintu tol. Sangat penting untuk mengidentifikasi "tanda waktu" dalam aliran data yang masuk, seseorang harus memastikan bahwa waktu yang diambil juga mengonfirmasi terjadinya suatu peristiwa. Misalnya, jika seseorang memantau penghitung tunai dan ingin menghitung jumlah pelanggan yang ditagih, idealnya tanda waktu peristiwa harus "pembayaran berhasil" daripada waktu "tagihan dihasilkan".

TIMESTAMP BY

Di Azure Stream Analytics, semua peristiwa memiliki tanda waktu yang ditentukan dengan baik. Jika pengguna ingin menggunakan waktu aplikasi, mereka dapat menggunakan kata kunci TIMESTAMP BY untuk menentukan kolom dalam payload yang harus digunakan untuk tanda waktu setiap peristiwa masuk untuk melakukan komputasi temporal seperti Windowing, Join, dll. Sebaiknya gunakan TIMESTAMP BY selama waktu kedatangan sebagai praktik terbaik. TIMESTAMP BY dapat digunakan pada kolom jenis tanggalwaktu apa pun dan semua format ISO 8601 didukung. System.Timestamp() hanya dapat digunakan di Pilih.

Berikut ini adalah contoh TIMESTAMP BY yang menggunakan kolom EntryTime sebagai waktu aplikasi untuk peristiwa:

  
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime  
  

Sensitivitas Kasus Nama Bidang

Nama bidang untuk pekerjaan yang dibuat dengan menggunakan tingkat kompatibilitas 1.0 diubah menjadi huruf kecil (tidak peka huruf besar/kecil) saat diproses oleh mesin Azure Stream Analytics. Untuk format input yang mendukung skema peka huruf besar/kecil, misalnya JSON, Anda dapat membuat peristiwa yang memiliki bidang duplikat saat nama bidang dibandingkan dengan cara ketidakpekaan kasus. Peristiwa tersebut dianggap sebagai peristiwa yang tidak valid, dan dihilangkan selama pemrosesan.

Sensitivitas huruf besar/kecil dipertahankan untuk nama bidang saat pekerjaan Azure Stream Analytics dibuat dengan menggunakan tingkat kompatibilitas 1.1 atau yang lebih tinggi. Untuk informasi selengkapnya, lihat topik tingkat kompatibilitas konfigurasi .

Di bagian ini

Lihat topik berikut untuk panduan tentang menggunakan bahasa kueri Azure Stream Analytics.

Lihat juga