Referensi Bahasa Pemrograman Kueri Analitik Stream

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

Stream Analytics Query Language, subset dari sintaks T-SQL

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

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

Skenario pintu tol

Stasiun tol adalah fenomena umum - kita menemukannya di banyak jalan tol, jembatan, dan terowongan di seluruh dunia. Setiap stasiun tol memiliki beberapa pintu tol, yang mungkin manual - yang berarti bahwa Anda berhenti untuk membayar tol kepada petugas, atau otomatis - di mana sensor yang ditempatkan di atas stan 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 stempel waktu yang dapat diakses melalui System.Timestamp(). Dengan kata lain setiap peristiwa dalam sistem kami menggambarkan suatu titik waktu. Stempel waktu ini dapat berupa 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 acara dari Azure Event Hub, waktu kedatangan adalah stempel waktu yang diberikan oleh pusat acara; untuk penyimpanan Blob, ini adalah waktu modifikasi terakhir blob. Stempel 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 "stempel waktu" dalam aliran data yang masuk, seseorang harus memastikan bahwa waktu yang diambil juga mengkonfirmasi terjadinya suatu peristiwa. Misalnya, jika seseorang memantau penghitung uang tunai dan ingin menghitung jumlah pelanggan yang ditagih, maka idealnya stempel waktu acara harus "pembayaran berhasil" daripada waktu "tagihan yang dihasilkan".

TIMESTAMP BY

Di Azure Stream Analytics, semua peristiwa memiliki stempel waktu yang terdefinisi dengan baik. Jika pengguna ingin menggunakan waktu aplikasi, mereka dapat menggunakan kata kunci TIMESTAMP BY untuk menentukan kolom dalam payload yang harus digunakan untuk stempel waktu setiap peristiwa yang masuk untuk melakukan perhitungan temporal seperti Windowing, Joins dll. Sebaiknya gunakan TIMESTAMP BY dari waktu ke waktu kedatangan sebagai praktik terbaik. TIMESTAMP BY dapat digunakan pada kolom datetime tipe apa pun dan semua format ISO 8601 didukung. System.Timestamp() hanya dapat digunakan di Select.

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

  
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 (case insensitive) 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 yang tidak peka huruf besar/kecil. Peristiwa tersebut dianggap sebagai peristiwa yang tidak valid, dan dijatuhkan selama pemrosesan.

Sensitivitas kasus dipertahankan untuk nama bidang saat pekerjaan Stream Analytics dibuat dengan menggunakan tingkat kompatibilitas 1.1 atau lebih tinggi. Untuk informasi selengkapnya, lihat topik tingkat kompatibilitas konfigurasi .

Di bagian ini

Lihat topik berikut untuk panduan menggunakan bahasa kueri Stream Analytics.

Lihat juga