mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-15 09:42:58 +00:00
* refactor holt_winters, predict_linear, quantile, round Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix clippy Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * some sqlness result Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * support some functions Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * make all sqlness cases pass Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix other sqlness cases Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * some refactor Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix clippy Signed-off-by: Ruihang Xia <waynestxia@gmail.com> --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
181 lines
7.7 KiB
Plaintext
181 lines
7.7 KiB
Plaintext
CREATE TABLE
|
|
prom_series (
|
|
ts TIMESTAMP TIME INDEX,
|
|
val DOUBLE,
|
|
host STRING PRIMARY KEY
|
|
);
|
|
|
|
Affected Rows: 0
|
|
|
|
INSERT INTO
|
|
prom_series (ts, val, host)
|
|
VALUES
|
|
(0, 0.0, 'p'),
|
|
(300, 10.0, 'p'),
|
|
(600, 20.0, 'p'),
|
|
(900, 30.0, 'p'),
|
|
(1200, 40.0, 'p'),
|
|
(1500, 0.0, 'p'),
|
|
(1800, 10.0, 'p'),
|
|
(2100, 20.0, 'p'),
|
|
(2400, 30.0, 'p'),
|
|
(2700, 40.0, 'p'),
|
|
(3000, 50.0, 'p');
|
|
|
|
Affected Rows: 11
|
|
|
|
-- predict_linear
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (3, 3, '1s') predict_linear(prom_series[3s], 0);
|
|
|
|
+---------------------+----------------------------------------------+------+
|
|
| ts | prom_predict_linear(ts_range,val,Float64(0)) | host |
|
|
+---------------------+----------------------------------------------+------+
|
|
| 1970-01-01T00:00:03 | 38.63636363636364 | p |
|
|
+---------------------+----------------------------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (3, 3, '1s') predict_linear(prom_series[3s], 3);
|
|
|
|
+---------------------+----------------------------------------------+------+
|
|
| ts | prom_predict_linear(ts_range,val,Float64(3)) | host |
|
|
+---------------------+----------------------------------------------+------+
|
|
| 1970-01-01T00:00:03 | 70.45454545454547 | p |
|
|
+---------------------+----------------------------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (3, 3, '1s') predict_linear(prom_series[3s], 40 + 2);
|
|
|
|
+---------------------+------------------------------------------------------------+------+
|
|
| ts | prom_predict_linear(ts_range,val,Float64(40) + Float64(2)) | host |
|
|
+---------------------+------------------------------------------------------------+------+
|
|
| 1970-01-01T00:00:03 | 484.0909090909091 | p |
|
|
+---------------------+------------------------------------------------------------+------+
|
|
|
|
-- holt_winters
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (10, 10, '1s') holt_winters(prom_series[10s], 0.4 + 0.1, 0.1);
|
|
|
|
+---------------------+--------------------------------------------------------------------------+------+
|
|
| ts | prom_holt_winters(ts_range,val,Float64(0.4) + Float64(0.1),Float64(0.1)) | host |
|
|
+---------------------+--------------------------------------------------------------------------+------+
|
|
| 1970-01-01T00:00:10 | 47.0806953125 | p |
|
|
+---------------------+--------------------------------------------------------------------------+------+
|
|
|
|
DROP TABLE prom_series;
|
|
|
|
Affected Rows: 0
|
|
|
|
CREATE TABLE
|
|
prom_series_q (
|
|
ts TIMESTAMP TIME INDEX,
|
|
val DOUBLE,
|
|
host STRING PRIMARY KEY
|
|
);
|
|
|
|
Affected Rows: 0
|
|
|
|
INSERT INTO
|
|
prom_series_q (ts, val, host)
|
|
VALUES
|
|
(1000, 123.45, 'q'),
|
|
(2000, 234.567, 'q'),
|
|
(3000, 345.678, 'q'),
|
|
(4000, 456.789, 'q');
|
|
|
|
Affected Rows: 4
|
|
|
|
-- quantile_over_time
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (4, 4, '1s') quantile_over_time(0.2 + 0.05, prom_series_q[4s]);
|
|
|
|
+---------------------+--------------------------------------------------------------------+------+
|
|
| ts | prom_quantile_over_time(ts_range,val,Float64(0.2) + Float64(0.05)) | host |
|
|
+---------------------+--------------------------------------------------------------------+------+
|
|
| 1970-01-01T00:00:04 | 206.78775000000002 | q |
|
|
+---------------------+--------------------------------------------------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (4, 4, '1s') quantile_over_time(0.4 + 0.1, prom_series_q[4s]);
|
|
|
|
+---------------------+-------------------------------------------------------------------+------+
|
|
| ts | prom_quantile_over_time(ts_range,val,Float64(0.4) + Float64(0.1)) | host |
|
|
+---------------------+-------------------------------------------------------------------+------+
|
|
| 1970-01-01T00:00:04 | 290.1225 | q |
|
|
+---------------------+-------------------------------------------------------------------+------+
|
|
|
|
-- round
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (3, 3, '1s') round(prom_series_q);
|
|
|
|
+---------------------+----------------------------+------+
|
|
| ts | prom_round(val,Float64(0)) | host |
|
|
+---------------------+----------------------------+------+
|
|
| 1970-01-01T00:00:03 | 346.0 | q |
|
|
+---------------------+----------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (1, 4, '1s') round(prom_series_q, 0.01);
|
|
|
|
+---------------------+-------------------------------+------+
|
|
| ts | prom_round(val,Float64(0.01)) | host |
|
|
+---------------------+-------------------------------+------+
|
|
| 1970-01-01T00:00:01 | 123.45 | q |
|
|
| 1970-01-01T00:00:02 | 234.57 | q |
|
|
| 1970-01-01T00:00:03 | 345.68 | q |
|
|
| 1970-01-01T00:00:04 | 456.79 | q |
|
|
+---------------------+-------------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (1, 4, '1s') round(prom_series_q, 0.05 + 0.05);
|
|
|
|
+---------------------+-----------------------------------------------+------+
|
|
| ts | prom_round(val,Float64(0.05) + Float64(0.05)) | host |
|
|
+---------------------+-----------------------------------------------+------+
|
|
| 1970-01-01T00:00:01 | 123.5 | q |
|
|
| 1970-01-01T00:00:02 | 234.60000000000002 | q |
|
|
| 1970-01-01T00:00:03 | 345.70000000000005 | q |
|
|
| 1970-01-01T00:00:04 | 456.8 | q |
|
|
+---------------------+-----------------------------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (1, 4, '1s') round(prom_series_q, 10.0);
|
|
|
|
+---------------------+-----------------------------+------+
|
|
| ts | prom_round(val,Float64(10)) | host |
|
|
+---------------------+-----------------------------+------+
|
|
| 1970-01-01T00:00:01 | 120.0 | q |
|
|
| 1970-01-01T00:00:02 | 230.0 | q |
|
|
| 1970-01-01T00:00:03 | 350.0 | q |
|
|
| 1970-01-01T00:00:04 | 460.0 | q |
|
|
+---------------------+-----------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (1, 4, '1s') round(prom_series_q, 100.0 + 3.0);
|
|
|
|
+---------------------+-------------------------------------------+------+
|
|
| ts | prom_round(val,Float64(100) + Float64(3)) | host |
|
|
+---------------------+-------------------------------------------+------+
|
|
| 1970-01-01T00:00:01 | 103.0 | q |
|
|
| 1970-01-01T00:00:02 | 206.0 | q |
|
|
| 1970-01-01T00:00:03 | 309.0 | q |
|
|
| 1970-01-01T00:00:04 | 412.0 | q |
|
|
+---------------------+-------------------------------------------+------+
|
|
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (1, 4, '1s') round(prom_series_q, - 3.0 + 13.0);
|
|
|
|
+---------------------+-------------------------------------------+------+
|
|
| ts | prom_round(val,Float64(-3) + Float64(13)) | host |
|
|
+---------------------+-------------------------------------------+------+
|
|
| 1970-01-01T00:00:01 | 120.0 | q |
|
|
| 1970-01-01T00:00:02 | 230.0 | q |
|
|
| 1970-01-01T00:00:03 | 350.0 | q |
|
|
| 1970-01-01T00:00:04 | 460.0 | q |
|
|
+---------------------+-------------------------------------------+------+
|
|
|
|
DROP TABLE prom_series_q;
|
|
|
|
Affected Rows: 0
|
|
|