Fungsi windowing (Azure Stream Analytics)

Dalam aplikasi yang memproses peristiwa real-time, adalah umum untuk melakukan beberapa komputasi berbasis set (agregasi) atau operasi lain atas subset peristiwa yang termasuk dalam beberapa periode waktu. Karena konsep waktu adalah kebutuhan mendasar untuk sistem pemrosesan peristiwa yang kompleks, penting untuk memiliki cara sederhana untuk bekerja dengan komponen waktu logika kueri dalam sistem. Di Azure Stream Analytics, subset peristiwa ini ditentukan melalui jendela untuk mewakili pengelompokan menurut waktu. Artikel ini menjelaskan jendela dan bagaimana mereka didefinisikan, mengidentifikasi jenis jendela yang didukung, dan menjelaskan bagaimana Anda dapat menggunakan jendela dengan berbagai operator.

Memahami Windows

Jendela berisi data peristiwa di sepanjang garis waktu dan memungkinkan Anda melakukan berbagai operasi terhadap peristiwa di dalam jendela tersebut. Misalnya, Anda mungkin ingin menjumlahkan nilai bidang payload di jendela tertentu seperti yang diperlihatkan dalam ilustrasi berikut.

Jendela tumbling bahasa kueri Azure Stream Analytics

Setiap operasi jendela menghasilkan peristiwa di akhir jendela. Jendela Azure Stream Analytics dibuka pada waktu mulai jendela dan ditutup pada waktu akhir jendela. Misalnya, jika Anda memiliki jendela 5 menit dari pukul 12:00 hingga 12:05, semua peristiwa dengan tanda waktu lebih besar dari pukul 00:00 dan hingga tanda waktu 12:05 termasuk dalam jendela ini. Output jendela akan menjadi satu peristiwa berdasarkan fungsi agregat yang digunakan dengan tanda waktu yang sama dengan waktu akhir jendela. Tanda waktu peristiwa output jendela dapat diproyeksikan dalam pernyataan SELECT menggunakan properti System.Timestamp() menggunakan alias. Setiap jendela secara otomatis menyelaraskan dirinya dengan jam ke-nol. Misalnya, jendela tumbling 5 menit akan selaras dengan (12:00-12:05] , (12:05-12:10], ..., dan sebagainya.

Setelah operasi jendela, tanda waktu peristiwa akan berbeda dari atribut waktu peristiwa asli (baik waktu kedatangan atau kolom yang digunakan dengan TIMESTAMP BY). Tanda waktu peristiwa yang saat ini diperbarui selalu dapat diakses dengan system.timestamp().

Catatan

Semua jendela harus digunakan dalam klausa GROUP BY.

Ada lima jenis jendela:

  1. Jendela Jatuh (Azure Stream Analytics)

  2. Jendela Lompat (Azure Stream Analytics)

  3. Jendela Geser (Azure Stream Analytics)

  4. Jendela Sesi (Azure Stream Analytics)

  5. Jendela Rekam Jepret (Azure Stream Analytics)

Ukuran maksimum jendela dalam semua kasus adalah 7 hari.

Anda dapat mengagregasi selama beberapa jendela waktu dalam pernyataan GROUP BY yang sama menggunakan fungsi Windows (Azure Stream Analytics ).

Lihat juga

Fungsi Bawaan (Azure Stream Analytics)
Fungsi Agregat (Azure Stream Analytics)
Analytic Functions (Azure Stream Analytics)
Fungsi Array (Analisis Aliran)
Fungsi Konversi (Azure Stream Analytics)
Fungsi Tanggal dan Waktu (Azure Stream Analytics)
Fungsi Rekaman (Azure Stream Analytics)