我正在阅读Google的MapReduce白皮书。我想知道如何有效地将GB数据传递给MapReduce算法。本文显示了在几秒钟内处理数据TB的统计数据。本文说,为了使其高效工作,它们减少了网络调用并尝试在本地磁盘上进行本地写入。只有reducer函数执行远程调用并写入olocal outputfile。现在,当我们在内存中加载GB数据以将其传递给Map函数时,数据加载器应用程序肯定会耗尽内存。
所以我的问题是应该使用什么技术来有效地加载数据并传递给M和R调度的调度程序应用程序,并计算M个部分和R个部分的数量。
我最有可能从Oracle数据库中读取一些数据并在其他表中更新回来。
答案 0 :(得分:0)
在Google的情况下,数据可能存储在作为分布式文件系统的GFS中,并且映射阶段在作为GFS存储节点加倍的节点上运行。这样,系统主要使用已经在本地磁盘上的数据,因此不必通过网络移动大量数据。
还有一篇关于GFS的论文:http://research.google.com/archive/gfs.html