C# 分析、预处理或后处理日志文件

C# 分析、预处理或后处理日志文件,c#,ruby,postgresql,logging,preprocessor,C#,Ruby,Postgresql,Logging,Preprocessor,我正在尝试对日志文件进行数据挖掘。它是一个平面文件,每行有大量事件列表。文件本身也可以达到500MB以上。每一行都是以逗号分隔的可变宽度事件列表,每个事件都包含特定于该事件的数据 我已经经历了几次迭代,但真的无法决定如何结束数据(标准化还是非标准化)?如果我想对数据进行预处理,或者可能在数据进入数据库后对其进行后处理?或者完全是别的什么 到目前为止我使用过的东西:sed+awk、C#、g(awk)、Ruby、Postgres 我考虑过的事情:可能没有SQL数据库?可能还有其他想法吗 最后,我使用

我正在尝试对日志文件进行数据挖掘。它是一个平面文件,每行有大量事件列表。文件本身也可以达到500MB以上。每一行都是以逗号分隔的可变宽度事件列表,每个事件都包含特定于该事件的数据

我已经经历了几次迭代,但真的无法决定如何结束数据(标准化还是非标准化)?如果我想对数据进行预处理,或者可能在数据进入数据库后对其进行后处理?或者完全是别的什么

到目前为止我使用过的东西:sed+awk、C#、g(awk)、Ruby、Postgres 我考虑过的事情:可能没有SQL数据库?可能还有其他想法吗

最后,我使用了这些工具中的每一个来对文件进行单个“传递”,并输出另一个文件,该文件的每一行都有一个硬设置的列数(30)。之后,我一直在使用postgres,我创建了一个有30列的大型postgres表,我可以使用一个简单的COPY-postgres命令(基本上是批量复制插入)将该文件快速导入到表中

烦恼:数据完全非标准化。我基本上在一个表中有大量的数据转储,我当然可以查询并获取我所需要的数据,但这个庞大的30列表正在测试我的敏感性


问题:您是否尝试将数据标准化?如果是,你对此有何想法?您会对30列表格进行后处理吗?在将其插入数据库之前进行预处理?还有其他想法吗?

你有没有试过查看logstash或splunk?

我会尽快将其正常化。否则,您将一次又一次地反对非规范化结构。如果Hadoop是您的一个选项,您可以使用ApacheHive或ApachePig。这些允许您以结构化的方式访问日志文件。特别是Hive允许您访问日志文件,就好像它们是类似SQL的表一样。尽早构建数据结构,否则您将继续走下坡路。