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