简介
请注册以预览。
如果您在 1 个工作日内没有收到我们的回复,请尝试重新注册。
对数十亿个时间序列的预测和异常检测的计算量非常大。大多数现有系统会以批处理作业(例如风险流水线、流量预测、需求规划等)运行预测和异常检测。这会严重限制可在线执行的分析类型(例如,我们应该根据一系列事件维度突然激增或减少提醒)。
进行时间序列预测并将其用于 Timeseries Insights API 的异常检测的主要目标是:
- 可扩展到数十亿个时间序列(其中时间序列定义为事件属性的一系列计数 - 例如,在运营商进行的事务)。
- 为预测和异常检测提供实时延迟(例如,在几秒钟内检测所有时间序列中的趋势和季节性),并确定任何切片是否意外地增加或减少。
API 功能
- 将数据集存储在 Google Cloud Storage 中,然后加载并加载数据集。允许以流式传输方式附加其他事件。
- 对已加载的数据集执行时间序列查询,以预测趋势和检测异常情况。
- 卸载不再需要的数据集。
- 请求数据集的处理状态。
输入数据
时间序列数据是观察观察结果的一组集合。例如,特定作业每分钟的平均 CPU 使用率是简单的时间序列数据。输入数据的最小单元是在特定时间作为键值对的数据点。在这里,键是维度的名称。本示例中的维度可以是 cpu
、ram
和 state
等。
Event
Timeseries Insights API 使用事件作为基本数据输入。为了处理数以万亿计的数据点,可将多个维度用于不同的聚合。例如,添加数据中心、用户、任务名称和任务编号来全面表示单个事件。
{"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。群组 ID 的用例还包括:
数据集
DataSet 是事件的集合。 每个查询均在同一数据集中执行。每个项目可以有多个数据集。
每个数据集都可以基于批量数据和流式数据构建。批量构建从多个 Cloud Storage URI 中读取数据源。批量构建完成后,可以使用流式数据更新数据集。对批量数据使用批量构建可以避免冷启动问题。
您需要先构建/编制索引一个数据集,然后才能查询或更新。创建数据集时会开始编入索引,通常需要几分钟到几个小时才能完成,具体取决于数据量。 更具体地说,在初始索引期间,数据源会扫描一次。如果在初始索引编制完成后 Cloud Storage URI 的内容发生更改,则不会再次扫描它们。 使用流式传输功能获取其他数据。 流式更新几乎可以实时地编入索引。
注意:Timeseries Insights API 无法返回原始流式更新,因此客户端应拥有这些数据的存储。
时间序列和异常检测
对于 Timeseries Insights API,Slice 是一系列具有维度值的特定组合的事件。 我们关注一段时间内,属于这些切片的事件分布情况。 对于给定的切片,事件将按用户指定时间间隔的数值进行聚合,该时间序列是检测异常的时间序列。上图显示了在具有 "user", "job", "data_center"
维度的数据集的不同切片选择。
如果时间间隔内的数值与过去的值存在显著差异,则特定切片的异常。该图显示了基于全球温度(超过 10 年)的时间序列。
假设对 2015 年上个月的异常值存有兴趣,我们对此感兴趣。对系统的查询会将感兴趣的时间间隔 testInterval
指定为“2015 年 12 月 31 日结束”。将 testInterval
之前检索到的时间序列划分为较早的训练时间段,后跟留出时间段。系统使用训练期的数据训练模型,并使用留出期来验证模型是否能够可靠地预测下一个值。在这个例子中,暂定期为 1 年。通常情况下,占保全期限是所使用的全部历史记录的 5-10%。该图显示了模型中具有上限值和下限值的实际数据和预测值。2015/12 的温度标记为异常,因为实际值实际上是在预测边界之外。