解析非常大的日志文件(>1Gb,<5Gb)

标签 parsing text logging

我需要解析非常大的日志文件(>1Gb,<5Gb)——实际上我需要将数据剥离到对象中,以便将它们存储在数据库中。日志文件是连续的(没有换行符),例如:

TIMESTAMP=20090101000000;PARAM1=Value11;PARAM2=Value21;PARAM3=Value31;TIMESTAMP=20090101000100;PARAM1=Value11;PARAM2=Value21;PARAM3=Value31;TIMESTAMP=20090101000152;PARAM1=Value11;PARAM2;=Value21;PARAM3Value=。 .

我需要将其剥离到表格中:

时间戳 |参数1 |参数2 |参数 3

该过程需要尽可能快。我正在考虑使用 Perl,但任何使用 C/C++ 的建议都会受到欢迎。有任何想法吗?

最好的祝福,

亚瑟

最佳答案

用 Perl 编写一个原型(prototype),并将其性能与从存储介质中读取数据的速度进行比较。我的猜测是您将受到 I/O 限制,这意味着使用 C 不会提供性能提升。

关于解析非常大的日志文件(>1Gb,<5Gb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/928040/

相关文章:

python - 包装文本在 matplotlib 中不起作用

c++ - 初学者 C++ - 打开一个文本文件进行阅读,如果它存在,如果不存在,则将其创建为空

ios - iOS(Xamarin)中带有图像和文本的UILabel

python - Django 根据错误级别记录颜色,没有模块

java - 记录错误时 Log4j 无法发送电子邮件

html - 使用 Fuzi 使用 swift 从特定标签中抓取文本

mysql - 将 PAF 文件导入 MySQL

java - 在 Java Web 应用程序中记录/监控用户 Activity

Java:删除 csv 中以 -- 开头的文本

c# - DateTime.ParseExact 忽略第一个字符 C#