全部產品
Search
文件中心

Lindorm:CREATE PREDOWNSAMPLE

更新時間:Jul 06, 2024

建立預降採樣規則用於產生預降採樣資料。

引擎與版本

CREATE PREDOWNSAMPLE文法僅適用於時序引擎。無版本要求。

文法

create_predownsample_statement ::= CREATE PREDOWNSAMPLE time_interval
                                    AGGREGATORS '('function_identifier ( ',' function_identifier) ')'
                                    [ TTL time_interval ] ON table_identifier
time_interval                  ::= interval units

使用說明

參數

說明

interval

正整數,表示時間軸彙總的時間視窗的數值。

units

時間單位,包括s(秒)、m(分鐘)、h(小時)、d(天)。

AGGREGATORS

預降採樣支援的彙總函式,取值如下:

  • count:返回總資料點數。

  • first:返回第一個值。

  • last:返回最後一個值。

  • min:返回最小值.

  • max:返回最大值。

  • sum:返回和。

說明

預降採樣不支援使用avg函數,但可以通過count和sumFunction Compute平均值。如果存在覆蓋寫的情況,可能會出現資料重複相加導致平均值結果不精確。

function_identifier

彙總函式名稱。

說明

一條建立語句中可以包括一個或者多個具有相同降採樣周期的彙總函式。也可以將多個彙總函式拆分成多條建立語句。

TTL

設定預降採樣資料的有效期間。

說明

如果多個預降採樣規則設定了TTL,那麼取最大的TTL作為所有預降採樣規則的TTL。

table_identifier

時序資料表名。

從預降採樣資料中查詢資料

預設情況下,降採樣查詢資料是從未經處理資料中進行查詢。如果要從預降採樣資料中查詢資料需要在查詢語句中使用Hint(/*+ PREDOWNSAMPLE */)。預降採樣的詳細資料,請參見預降採樣

樣本

  1. 建立預採樣規則並設定資料有效期間為90天。

    CREATE PREDOWNSAMPLE `1h` AGGREGATORS (`sum`, `max`) TTL `90d` ON sensor;
  2. 從預降採樣資料中查詢資料,資料結果按照1小時進行降採樣。

    SELECT /*+ PREDOWNSAMPLE */ SUM(temperature) FROM sensor
    WHERE time >= 1619076780000 AND time <= 1619076800000
    SAMPLE BY 1h;