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
私はこれを、たとえば最近の価値のあるデータの1回限りの演習として実行します。次に、速度の観点から、例外的なデータにフラグを立てるために、必要に応じて定期的にこれを実行します。
おそらく、より良いアプローチは、新しいテクノロジーを学ぶことは、HDFS / Sparkに続いてPIG / Python / Rソリューションであることを意味します。しかし、HDFS / Sparkには、ログ分析を行うためにすぐに使えるいくつかのソリューションがあります。5億件のレコードが、テーブルのパーティション分割や列のインデックス作成を行ったとしても、SQLのパフォーマンスの問題の影響を受ける可能性があります。