读取和绘制从大文件中读取的数据

Shr*_*rat 5 python graphing numpy r large-files

我们有相当大的文件,1-1.5 GB的原始数据的顺序组合(主要是日志文件),很容易解析的为csv,随后应该被绘制来产生一组图形图像.

目前,我们正在使用bash脚本将原始数据转换为csv文件,只需要绘制数字,然后将其输入到gnuplot脚本中.但这个过程非常缓慢.我试图通过用一个命令替换一些管道cuts,trs等来加速bash脚本awk,虽然这提高了速度,整个事情仍然很慢.

所以,我开始相信这个过程有更好的工具.我目前正在寻找在python + numpy或R中重写这个过程.我的一个朋友建议使用JVM,如果我这样做,我将使用clojure,但我不确定JVM将如何执行.

我在处理这类问题方面没有多少经验,所以关于如何进行的任何建议都会很棒.谢谢.

编辑:另外,我想要存储(到磁盘)生成的中间数据,即csv,所以我不必重新生成它,如果我选择我想要一个不同的图形.

编辑2:原始数据文件每行有一条记录,其字段由分隔符(|)分隔.并非所有字段都是数字.输出csv中我需要的每个字段是通过在输入记录上应用某个公式获得的,输入记录可以使用输入数据中的多个字段.输出csv每行将有3-4个字段,我需要在(可能是)条形图中绘制1-2,1-3,1-4字段的图表.我希望能给出更好的画面.

编辑3:我稍微修改了@ adirau的脚本,似乎工作得很好.我已经足够了,我正在读取数据,发送到处理器线程池(伪处理,将线程名称附加到数据),并通过另一个收集器线程将其聚合到输出文件中.

PS:我不确定这个问题的标记,随时纠正它.