加载大型数据集的有效方法



我正在阅读Google关于MapReduce的白皮书。我想知道如何有效地将GB的数据传递给MapReduce算法。本文显示了在几秒钟内处理TB数据的统计数据。这篇论文说,为了使其有效工作,他们减少了网络调用,并尝试在本地磁盘上进行本地写入。只有化简器函数执行远程调用并写入本地输出文件。现在,当我们在内存中加载 GB 数据以将其传递给 Map 函数时,数据加载器应用程序肯定会耗尽内存。

所以我的问题是应该使用什么技术来有效地加载数据并传递给调度程序应用程序以进行 M 和 R 调度,并计算 M 件和 R 件的数量。

我很可能会从 Oracle 数据库中读取一些数据,并在其他一些表中将其更新回来。

白皮书网址http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive/mapreduce-osdi04.pdf

在Google的案例中,数据可能存储在GFS中,这是一个分布式文件系统,映射阶段在兼作GFS存储节点的节点上运行。这样,系统主要使用本地磁盘上已有的数据,因此不必通过网络移动大量数据。

还有一篇关于GFS的论文:http://research.google.com/archive/gfs.html

相关内容

  • 没有找到相关文章

最新更新