mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-16 04:50:38 +00:00
* feat: adapt new name of holt winters fn Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * update parser Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * alias old fn name Signed-off-by: Ruihang Xia <waynestxia@gmail.com> --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
191 lines
8.5 KiB
Plaintext
191 lines
8.5 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 | 37.27272727272727 | 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 | 64.54545454545455 | 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 | 419.090909090909 | p |
|
|
+---------------------+------------------------------------------------------------+------+
|
|
|
|
-- double_exponential_smoothing
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (10, 10, '1s') double_exponential_smoothing(prom_series[10s], 0.4 + 0.1, 0.1);
|
|
|
|
+---------------------+------------------------------------------------------------------------------------------+------+
|
|
| ts | prom_double_exponential_smoothing(ts_range,val,Float64(0.4) + Float64(0.1),Float64(0.1)) | host |
|
|
+---------------------+------------------------------------------------------------------------------------------+------+
|
|
| 1970-01-01T00:00:10 | 47.0806953125 | p |
|
|
+---------------------+------------------------------------------------------------------------------------------+------+
|
|
|
|
-- holt_winters (backward compatibility)
|
|
-- SQLNESS SORT_RESULT 3 1
|
|
tql eval (10, 10, '1s') holt_winters(prom_series[10s], 0.4 + 0.1, 0.1);
|
|
|
|
+---------------------+------------------------------------------------------------------------------------------+------+
|
|
| ts | prom_double_exponential_smoothing(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
|
|
|