全部產品
Search
文件中心

Simple Log Service:時序補點函數

更新時間:Jun 30, 2024

如果時間序列中存在資料缺失問題,可以使用時序補點函數補齊缺失的資料。

  • 調用方式

    select series_padding(long stamp, double value, long interval, varchar padType)
  • 輸入參數

    參數

    說明

    stamp

    資料的UnixTime時間戳記。

    value

    每個時刻對應的資料。

    interval

    採集資料的間隔,例如:每10秒進行一次採集,則interval為10。

    padType

    資料缺失時填充的類型,可選值:zero、mean、forward、backward。

    • zero:缺失點資料填充為0。

    • mean:缺失點資料填充為缺失點兩端有效值的均值。

    • forward:缺失點資料填充為缺失點左端有效資料。

    • backward:缺失點資料填充為缺失點右端有效資料。

  • 輸出結果

    unixtime   |       pad_value
    -------------+-----------------------
     1.5513696E9 |   0.11243584740434608
     1.5513732E9 |   0.09883780706698506
     1.5513768E9 |   0.08240823914341992
     1.5513804E9 |    0.0728240514818139
      1.551384E9 |   0.05888517541914705
     1.5513876E9 |   0.04953931499029833
     1.5513912E9 |  0.043698605551761895
     1.5513948E9 |   0.04400292632222124
     1.5513984E9 |   0.04727081764249449
      1.551402E9 |  0.054632234293121314
     1.5514056E9 |   0.05331214064978596
     1.5514092E9 |   0.05093117289934144
     1.5514128E9 |  0.053620170319174806
     1.5514164E9 |   0.05405914786225842
  • 樣本

    下圖為通過查詢語句得到的原始折線圖,存在資料缺失問題。

    * and Method: GetLogStoreLogs and ProjectName: lunar and LogStore: geos and Latency > 800000 | select '("__time__" - ("__time__" % 60))' as time, COUNT(*) * 1.0 as num from log group by time order by time asc limit 1000

    時序補點函數-001

    執行時序補點函數進行資料補齊,結果如下圖所示。

    * and Method: GetLogStoreLogs and ProjectName: lunar and LogStore: geos and Latency > 800000 | select series_padding(time, num, 60, 'zero') from (select '("__time__" - ("__time__" % 60))' as time, COUNT(*) * 1.0 as num from log group by time order by time asc limit 1000)

    時序補點函數-002.png