我有大量数据(几个TB),并且正在积累中...它们包含在许多制表符分隔的文本文件中(每个约30MB)。大部分任务涉及读取数据并根据一系列谓词语句对观测/行进行聚合(求和/平均值+其他转换),然后将输出保存为文本、HDF5或SQLite文件等。我通常使用R来完成这样的任务,但我担心这可能有点太大了。一些备选解决方案是:
- 用C(或Fortran)编写整个程序
- 直接将文件(表)导入关系数据库,然后在R或Python中提取块(一些转换不适合纯SQL解决方案)
- 用Python编写整个程序
方案3是否是一个坏主意?我知道您可以在Python中包装C例程,但在这种情况下,因为没有计算方面的限制(例如需要进行多次迭代计算的优化例程),我认为I/O可能与计算本身一样成为瓶颈。您是否对进一步考虑或建议有任何建议?谢谢。
编辑 感谢您的回复。关于Hadoop似乎存在着不一致的意见,但无论如何,我没有访问集群的权限(尽管我可以使用几台未联网的机器)...