如果您想从SQL的角度来解决这个问题,那么从广义上讲,我将找出引起不同行为的任何分类变量。然后对许多分析变量执行以下操作。
SELECT ClassificationVar1,
ClassificationVar2,
MIN(AnalysisVar1) as Min_AnalysisVar1,
MAX(AnalysisVar1) as Max_AnalysisVar1,
MEAN(AnalysisVar1) as Mean_AnalysiVar1,
STDEV(AnalysisVar1) as Std_AnalysisVar1,
MIN(AnalysisVar2) as Min_AnalysisVar2,
MAX(AnalysisVar2) as Max_AnalysisVar2,
MEAN(AnalysisVar2) as Mean_AnalysiVar2,
STDEV(AnalysisVar2) as Std_AnalysisVar2,
etc.
FROM YourDataFile
GROUP BY ClassificationVar1, ClassificationVar2
ORDER BY ClassificationVar1, ClassificationVar2
我将一次性执行此操作,例如说说最近一年的数据,然后从速度角度来看,我将根据需要定期运行此操作,以标记出异常数据。
一种更好的方法,也许意味着学习新技术是HDFS / Spark然后是PIG / Python / R解决方案。但是HDFS / Spark提供了一些现成的解决方案来进行日志分析。即使使用表分区和列索引,也有5亿条记录可能正在涉及SQL的性能问题。