【发布时间】:2013-11-27 11:47:39
【问题描述】:
我有 巨大的日志文件(在 gigs 中),它有一个标题(标记信息的开头),然后是信息。这是随机分布在整个文件中的(意味着一个标题后跟该信息可以出现在日志文件中的任何位置)。它也有一个父子层次结构。我需要根据为识别节/标题的开始模式而编写的正则表达式解析和处理此日志的信息,从而处理将遵循的信息。这里的问题是我必须匹配为所有编写的所有正则表达式日志文件的每一行的部分,以确定哪个部分被触发。 这种方法非常缓慢并且也遇到了问题,因为没有智能地了解日志中接下来会发生什么,并且当存在层次结构时它会放大。我想到了一种 的方法通过递归地将文件划分为块(分而治之)并将其分配给多个 actors(scala) 来索引文件,并且每一行可以与所有正则表达式并行匹配(代表开始部分)。我想知道这种方法的效率如何,并且希望有更多的输入来提高性能。这里的参考是日志文件可能出现的模式::
Section1
--------------
Info for section1
..
...
....
.
.
Section2
--------------
Info for section2
..
...
....
.
.
Section3
=================
Info for section3
Child1 of section3
--------------
Info for child of section3
Child2 of section3
----------------
Info for child of section3
Child1 of child2 which is child of section3
.........................
Info for child1 of child2 which is child of section3
Section1
-------------- //Section1 reappears
Info for section1
..
...
....
.
.
【问题讨论】:
标签: scala parsing parallel-processing machine-learning bigdata