为什么在hadoop reducer中执行context.write时没有锁定问题

时间:2012-11-21 07:13:49

标签: hadoop file-io

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

通常情况下,如果我们自己在hadoop映射器/ reducer中写入同一个文件,我们就会遇到锁定错误,我们无法同时写入同一个文件。

1 个答案:

答案 0 :(得分:1)

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

Reduce in Map Reduce不会直接写入文件本身。它将此任务委派给OutputFormat,后者负责数据的下沉。它可以是文件,数据库表或任何其他位置。 FileOutputFormat将下沉到Hadoop分布式文件系统(HDFS)中的某个位置。 DBOutputFormat将汇入数据库表(读取此post)。

关于文件锁的问题,请查看Yahoo Developer Network上的post