1

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

我经历了几次迭代,真的无法决定我希望数据如何结束(规范化或非规范化)?如果我想预处理数据,或者可能在它进入数据库之后对其进行后处理?还是完全不同的东西?

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

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

烦恼:数据完全去规范化。我基本上在一张表中得到了大量的数据,我当然可以查询并获取我需要的数据,但是那个庞大的 30 列表正在测试我的敏感性。

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

4

1 回答 1

2

您是否尝试过查看 logstash 或 splunk?

于 2013-09-03T15:52:27.797 回答