最小化磁盘操作的大数据- MapReduce



我需要处理远程服务器上数千个文件中的10TB文本。我想在我的本地机器上用3GB内存,50GB硬盘处理它们。我需要一个抽象层来按需从远程服务器下载文件,处理它们(mapreduce),然后丢弃它们,加载更多文件。

关于HDFS,我需要将它们加载到HDFS,然后事情应该是直接的,但我需要自己做内存管理。我想要能解决这个问题的东西。比如在HDFS中的远程链接,或者在HDFS中到远程文件的符号链接,下载它们并将它们加载到内存中,处理它们然后丢弃它们,转移到更多的文件。

所以现在我使用Amplab spark为我做并行处理,但是在这个级别的处理上它放弃了。

我想要一个类似spark的一行:

myFilesRDD.map(...).reduce(...)

RDD应该照顾它

Map/Reduce用于在机器集群上分解工作。听起来你只有一台机器,你的本地机器。您可能想看看R,因为它有内置的命令来通过网络加载数据。它不会为您提供您所描述的虚拟内存外观,但是如果您能够忍受编写迭代循环并自己加载数据块,那么R不仅可以为您提供您所寻求的远程数据加载,R丰富的可用库集合可以促进您想要的任何类型的处理。

最新更新