時序聚類函數針對輸入的多條時序數據進行聚類,自動聚類出不同的曲線形態,進而快速找到相應的聚類中心和異于聚類中的其它形態曲線。
關于函數的算法及實現原理請參見LOG機器學習介紹(02):時序聚類建模。
函數列表
函數 | 說明 |
| 使用密度聚類方法對多條時序數據進行聚類。 |
| 使用層次聚類方法對多條時序數據進行聚類。 |
| 查找到指定曲線名稱的相似曲線。 |
ts_density_cluster
函數格式如下所示:
select ts_density_cluster(x, y, z)
參數說明如下所示:
參數 | 說明 | 取值 |
x | 時間列,從小到大排列。 | Unixtime時間戳,單位為秒。 |
y | 數值列,對應某時刻的數據。 | 無 |
z | 某個時刻數據對應的曲線名稱。 | 字符串類型,例如machine01.cpu_usr。 |
示例:
查詢分析語句如下所示:
* and (h: "machine_01" OR h: "machine_02" OR h : "machine_03") | select ts_density_cluster(stamp, metric_value,metric_name ) from ( select '("__time__" - ("__time__" % 600))' as stamp, avg(v) as metric_value, h as metric_name from log GROUP BY stamp, metric_name order BY metric_name, stamp )
輸出結果如下所示:
顯示項如下所示:
顯示項 | 說明 |
cluster_id | 聚類的類別,其中-1表示未能劃分到某一聚類中心。 |
rate | 該聚類中的instance占比。 |
time_series | 該聚類中心的時間戳序列。 |
data_series | 該聚類中心的數據序列。 |
instance_names | 該聚類中心包含的instance的集合。 |
sim_instance | 該類中的某一個instance名稱。 |
ts_hierarchical_cluster
函數格式如下所示:
select ts_hierarchical_cluster(x, y, z)
參數說明如下所示:
參數 | 說明 | 取值 |
x | 時間列,從小到大排列。 | 格式為Unixtime時間戳,單位為秒。 |
y | 數值列,對應某時刻的數據。 | 無 |
z | 某個時刻數據對應的曲線名稱。 | 字符串類型,例如machine01.cpu_usr。 |
示例:
查詢分析語句如下所示:
* and (h: "machine_01" OR h: "machine_02" OR h : "machine_03") | select ts_hierarchical_cluster(stamp, metric_value, metric_name) from ( select '("__time__" - ("__time__" % 600))' as stamp, avg(v) as metric_value, h as metric_name from log GROUP BY stamp, metric_name order BY metric_name, stamp )
輸出結果如下所示:
顯示項如下所示:
顯示項 | 說明 |
cluster_id | 聚類的類別,其中-1表示未能劃分到某一聚類中心。 |
rate | 該聚類中的instance占比。 |
time_series | 該聚類中心的時間戳序列。 |
data_series | 該聚類中心的數據序列。 |
instance_names | 該聚類中心包含的instance的集合。 |
sim_instance | 該類中的某一個instance名稱。 |
ts_similar_instance
函數格式如下所示:
select ts_similar_instance(x, y, z,instance_name,topK,metricType)
參數說明如下所示:
參數 | 說明 | 取值 |
x | 時間列,從小到大排列。 | 格式為Unixtime時間戳,單位為秒。 |
y | 數值列,對應某時刻的數據。 | 無 |
z | 某個時刻數據對應的曲線名稱。 | 字符串類型,例如machine01.cpu_usr。 |
instance_name | 指定某個待查找的曲線名稱。 | 集合中某個曲線名稱,字符串類型,例如machine01.cpu_usr。 說明 必須是已創建的曲線。 |
topK | 最多返回K個與給定曲線相似的曲線。 | 無 |
metricType |
| 無 |
查詢分析語句如下所示:
* and m: NET and m: Tcp and (h: "nu4e01524.nu8" OR h: "nu2i10267.nu8" OR h : "nu4q10466.nu8") | select ts_similar_instance(stamp, metric_value, metric_name, 'nu4e01524.nu8' ) from ( select '("__time__" - ("__time__" % 600))' as stamp, sum(v) as metric_value, h as metric_name from log GROUP BY stamp, metric_name order BY metric_name, stamp )
顯示項如下所示:
顯示項 | 說明 |
instance_name | 與指定指標相近的結果列表。 |
time_series | 該曲線的時間戳序列。 |
data_series | 該曲線的數據序列。 |