hat*_*rix 32 python sql r large-data-volumes large-files
我有大量的数据(几TB)并累积......它们包含在许多制表符分隔的平面文本文件中(每个大约30MB).大多数任务涉及读取数据并基于一系列谓词语句聚合(求和/平均+附加转换)观察/行,然后将输出保存为文本,HDF5或SQLite文件等.我通常使用R对于这样的任务,但我担心这可能有点大.一些候选解决方案是
(3)是个坏主意吗?我知道你可以在Python中包装C例程,但在这种情况下,因为没有任何计算上的限制(例如,需要许多迭代计算的优化例程),我认为I/O可能与计算本身一样是瓶颈.您对进一步的考虑或建议有什么建议吗?谢谢
编辑感谢您的回复.关于Hadoop的看法似乎存在冲突,但无论如何我都无法访问集群(虽然我可以使用几台未经网络的机器)......
Ale*_*lli 14
(3)不一定是个坏主意 - Python可以很容易地处理"CSV"文件(尽管C代表Comma,tab作为分隔符同样容易处理)当然也可以获得大约相同的带宽在I/O操作中与任何其他语言一样.至于其他建议,numpy除了快速计算(根据你的陈述你可能不需要),它提供了非常方便,灵活的多维数组,这对你的任务来说非常方便; 并且标准库模块multiprocessing允许您为任何易于并行化的任务利用多个核心(重要的是,因为现在几乎每台机器都有多核;-).
Dir*_*tel 13
好吧,所以只是为了与众不同,为什么不R?
read.csv()变种read.table()如果通过指定类型的列可能是非常有效的colClasses,而不是guestimating类型转换,这将有效地处理:参数