0

我对 conext.write 如何在 hadoop reducer 中工作感到困惑。如果所有人都写入 HDFS 中的同一个文件,为什么 hadoop 减速器中没有锁定问题(如果有超过 1 个减速器)?

通常,如果我们自己在 hadoop mapper/reducer 中写入同一个文件,我们会遇到无法同时写入同一个文件的锁定错误。

4

1 回答 1

1

如果您的 map reduce 程序在多节点集群上运行,那么每个节点上都会运行唯一的 Map 和 Reduce 程序。

Map Reduce 中的 Reduce 不直接写入文件本身。它将这个任务委托给负责数据下沉的 OutputFormat。它可以是文件、数据库表或任何其他位置。FileOutputFormat 将下沉到 Hadoop 分布式文件系统 (HDFS) 中的某个位置。DBOutputFormat 将下沉到数据库表(阅读这篇文章)。

有关文件锁定的问题,请查看 Yahoo Developer Network 上的这篇文章

于 2012-11-21T07:34:11.580 回答