2013-04-27 43 views
0

我需要处理远程服务器上数千个文件中的10TB文本。我想在我的本地机器上使用3GB RAM,50GB硬盘来处理它们。我需要一个抽象层从远程服务器上按需下载文件,处理它们(mapreduce)然后丢弃它们,加载一些更多的文件。使用最少磁盘操作的大数据 - MapReduce

关于HDFS我需要将它们负载HDFS,然后事情应该是简单,但我需要做的内存管理自己。我想要一些照顾这个的东西。例如HDFS中的远程链接或HDFS中的符号链接到远程文件,该文件将其下载并加载到内存中,然后丢弃它们移动到更多文件。

所以现在我用Amplab火花来为我做并行处理,但在这个层面上处理它放弃。

我想要的东西一个衬像火花:

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

RDD应该照顾它

回答

0

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