Topik ini menjelaskan sintaks yang digunakan untuk membuat aturan pra-pengambilan sampel, berdasarkan mana data pra-pengambilan sampel dihasilkan.
Mesin dan versi yang berlaku
Sintaks BUAT PRA-PENGAMBILAN SAMPEL hanya berlaku untuk LindormTSDB. Sintaks ini didukung oleh semua versi LindormTSDB.
Sintaks
create_predownsample_statement ::= CREATE PREDOWNSAMPLE time_interval
AGGREGATORS '('function_identifier ( ',' function_identifier) ')'
[ TTL time_interval ] ON table_identifier
time_interval ::= interval unitsCatatan penggunaan
Parameter | Deskripsi |
interval | Interval waktu pada saat data deret waktu diagregasi. Nilai parameter ini adalah bilangan bulat positif. |
units | Satuan interval. Nilai valid: s (detik), m (menit), h (jam), dan d (hari). |
AGGREGATORS | Fungsi agregasi yang didukung dalam pra-pengambilan sampel. Nilai valid:
null Fungsi avg tidak didukung dalam pra-pengambilan sampel. Anda dapat menghitung nilai rata-rata data pra-pengambilan sampel dengan menggunakan hasil dari fungsi count dan sum. Namun, jika data ditambahkan dan ditimpa berulang kali, nilai rata-rata mungkin tidak akurat. |
function_identifier | Nama fungsi agregasi. null Anda dapat menentukan satu atau lebih fungsi agregasi dengan interval yang sama dalam satu pernyataan. Anda juga dapat menentukan beberapa fungsi agregasi dalam beberapa pernyataan. |
TTL | Waktu hidup (TTL) dari data pra-pengambilan sampel. null Jika Anda menentukan TTL yang berbeda dalam beberapa aturan pra-pengambilan sampel, TTL terbesar akan berlaku untuk semua aturan pra-pengambilan sampel. |
table_identifier | Nama tabel untuk mana Anda ingin mengonfigurasi aturan pra-pengambilan sampel. |
Kueri data pra-pengambilan sampel
Secara default, ketika Anda mengkueri data pra-pengambilan sampel, data asli sebelum pra-pengambilan sampel akan dikueri. Untuk hanya mengkueri data pra-pengambilan sampel, Anda harus menambahkan petunjuk /*+ PREDOWNSAMPLE */ dalam pernyataan kueri. Untuk informasi lebih lanjut tentang pra-pengambilan sampel, lihat Pra-pengambilan sampel.
Contoh
Buat aturan pra-pengambilan sampel dan atur TTL data pra-pengambilan sampel menjadi 90 hari.
CREATE PREDOWNSAMPLE `1h` AGGREGATORS (`sum`, `max`) TTL `90d` ON sensor;Kueri data yang telah di-pra-pengambilan sampel secara per jam.
SELECT /*+ PREDOWNSAMPLE */ SUM(temperature) FROM sensor WHERE time >= 1619076780000 AND time <= 1619076800000 SAMPLE BY 1h;