【发布时间】:2015-10-02 13:09:32
【问题描述】:
我们是一个可操作的数据仓库。我们有一个包含以下信息的批处理控制表
- 处理到仓库的文件名。
- 批处理开始的日期和时间。
- 处理的行数和花费的时间。
我们正在考虑建立一种警报机制,基本上可以在以下任何异常情况下发出警报(通过分析过去的数据):
- 文件未到达。
- 文件的处理时间超过了平均处理时间。
- 文件的行数非常低或非常高。
解决此问题的最佳方法是什么。这是机器学习的候选人吗?
【问题讨论】:
标签: data-warehouse
我们是一个可操作的数据仓库。我们有一个包含以下信息的批处理控制表
我们正在考虑建立一种警报机制,基本上可以在以下任何异常情况下发出警报(通过分析过去的数据):
解决此问题的最佳方法是什么。这是机器学习的候选人吗?
【问题讨论】:
标签: data-warehouse
这是机器学习的候选者吗?
不是真的。您必须将有关已处理文件的某些信息存储到数据仓库中。
文件没有到达。
当下一个文件到达时,您必须有一个文件列表的时间表。如果文件延迟超过 5 天,调度程序会发出警报、发送电子邮件或其他方式。
一个文件的处理时间超过了平均处理时间。
在您的文件计划中保留平均处理时间。当当前处理时间与平均处理时间相差超过2个标准差时,发出警报。
文件的行数非常低或非常高
在您的文件计划中保留平均行数。当当前行数与平均行数相差超过 2 个标准差时,发出警报。
我选择了平均值的 2 个标准差作为例外情况。随意调整它以或多或少对偏差敏感。
【讨论】:
1) 首先从人类学习开始。
绘制已处理文件的时间序列(行号作为处理时间的函数)。
绘制行号的分布(或直方图)
绘制处理之间时间间隔的分布(或直方图)
绘制依赖于行数的处理时间函数。
您是否看到时间序列中的一些模式?是否有一天中的某个时间。工作日周期?你看到趋势了吗?
处理时间的函数是连续函数还是简单的点散点图?
您越清楚地看到一些模式和阈值,您就越容易实施检查。
2) 收集失败历史
使用处理状态扩展您的元数据 - 正常或失败原因。 这将使您能够以两种颜色(正/负情况)绘制图形,并帮助您决定是否可以在它们之间绘制阈值线(曲线)。
【讨论】: