總覽

簡介

註冊以進行預覽。

如果您在 1 個工作天內沒有收到我們的回覆,請再次進行申請。

針對數十億個時間序列的預測和異常偵測,需要大量計算。多數現有系統都是以批次工作的形式執行預測和異常偵測 (例如風險管道、流量預測、需求規劃、...)。這樣做可大幅限制可進行線上分析的分析類型 (例如是否將一組事件維度數量突然增加或下滑的快訊)。

使用時間序列分析 API 執行時間序列預測的主要目標,以及用於異常偵測的主要目標為:

  • 彈性擴充為數十億個時間序列 (時間序列定義為特定事件屬性的連續次數總和,例如電信業者完成的交易次數)。
  • 為預測和異常偵測提供即時延遲時間 (例如在幾秒鐘內偵測所有時間序列的趨勢和季節性),並判定是否有任何配量暴增或減少。

API 功能

  • 為儲存在 Google Cloud Storage 上的多個資料來源建立索引並載入資料集。允許以串流方式附加其他事件。
  • 對載入的資料集執行時間序列查詢,以預測趨勢及偵測異常情況。
  • 將不需要的資料集取消載入。
  • 要求資料集處理狀態。

輸入資料

時間序列資料是一系列觀測資料,系統會不斷重複測量。例如,每分鐘特定工作的平均 CPU 用量是簡單的時間序列資料。輸入資料的最小單位是特定時間點的鍵/值組合。這裡的鍵是維度的名稱 範例中的維度可以是 cpuramstate 等。

時間序列

活動

時間序列深入分析 API 使用事件做為基本資料項目。如要處理數 PB 量的資料點,可以使用多個維度來進行不同匯總。例如,資料中心、使用者、工作名稱和工作編號都會完全代表單一事件。

{"name":"user","stringVal":"user_64194"},
{"name":"job","stringVal":"job_45835"},
{"name":"data_center","stringVal":"data_center_30389"},
{"name":"task_num","longVal":19},
{"name":"cpu","doubleVal":3840787.5207877564},
{"name":"ram","doubleVal":1067.01},
{"name":"state","stringVal":"idle"}

每個事件都有:

  • 時間戳記
  • 一或多個維度,每個維度都具有以下特性:
    • 名稱 (資料集除外)
    • 值 (字串、布林值、int/long 或 double) 事件維度是與事件相關的屬性 大致上來說,一組維度名稱會對應至不同類型的事件。舉例來說,["user", "job", "data_center", "task_num", "gcu"] 用於工作資源用量事件,而 ["user", "gcu", "disk", "ram"] 則用於使用者配額事件。
  • 長值群組 ID,設為相關的 Event 記錄值。 通常每個 Event 記錄都會指定唯一識別碼。群組 ID 的使用案例包括 (但不限於):
    • 來自同一個 Event 記錄的事件 (相同時間戳記) 的事件 ID,尤其是同一個活動的不同部分是來自不同來源,且。 例如,有數個感應器會監控同一個裝置,並產生不同的事件記錄。
    • 相關事件 (通常短期內會有時間戳記) 的工作階段 ID。 例如,來自網路瀏覽工作階段的活動。另一個例子是計程車行的記錄項目。
    • 使用者帳戶 ID,因此具有相同群組 ID 的所有 Event 記錄都屬於同一使用者。

資料集

資料集是一組事件。 每項查詢都會在相同的資料集內執行, 每個專案可以包含多個資料集。

每個資料集都可以從批次和串流資料建立。批次建構作業讀取多個 Cloud Storage URI 做為資料來源。批次建構完成後,您可以使用串流資料更新資料集。針對批次資料使用批次建構作業,可避免發生冷啟動問題。

資料集必須先建立/建立索引,才能查詢或更新這個資料集。 建立索引會在資料集建立後開始,通常需要幾分鐘的時間才能完成,視資料量而定。 更具體來說,系統在建立索引時,系統會掃描資料來源一次。如果初始索引建立後,Cloud Storage URI 的內容變更,系統將不會再次掃描。 透過串流更新取得額外資料。 串流更新會以近乎即時的方式接受。

注意:時間序列序列 API 無法傳回原始串流更新,因此客戶應有這些資料的空間。

時間序列與異常情況偵測

智慧捷徑

針對 Timeseries Insights API,Slicator 是具有特定維度值組合的一組事件。 我們想要隨著時間演進到這些 Slices 的事件。 系統會針對特定時間,將事件匯總為每段時間間隔指定的數值,該數值就是用於偵測異常的時間序列。上圖說明瞭含 "user", "job", "data_center" 維度的資料集的各個配量選項。

時間序列與異常狀況

如果特定時間間隔發生的數值值與過去的值有極大差異,則特定片段出現異常情形。此圖片顯示依據 10 年來的全球溫度進行時間序列。假設我們想知道 2015 年上個月是否為異常情況。查詢到系統的查詢可指定時間間隔 (testInterval) 設為「1 個月結束日期為 2015/12/31」。在 testInterval 之前擷取到的時間序列會分成較早的「訓練」期間,之後會加上暫停期間。系統使用訓練期間的資料來訓練模型,並使用保留期間來驗證模型是否能準確預測下一個值。在本範例中,訴訟保留為 1 年。通常,整個保留期間的保留時間有 5-10%。圖中顯示模型的實際和預測值 (設有上限和下限)。2015 年 12 月的溫度會標示為異常狀況,因為實際值在預測界限之外。