mapreduce.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:6.033 作者: kchobo13 项目源码 文件源码
def doReduce(self, i):
        keys = {}
        out = []
        for m in range(0, self.maptask):
            # print "reduce", i, "#map-%s-%s-%d" % (self.path, m, i)
            f = open("#map-%s-%s-%d" % (self.path, m, i), "r")
            itemlist = pickle.load(f)
            for item in itemlist:
                if keys.has_key(item[0]):
                    keys[item[0]].append(item)
                else:
                    keys[item[0]] = [item]
            f.close()
            os.unlink("#map-%s-%s-%d" % (self.path, m, i))
        for k in sorted(keys.keys()):
            out.append(self.Reduce(k, keys[k]))
        f = open("#reduce-%s-%d" % (self.path, i), "w+")
        pickle.dump(out, f)
        f.close()
        return i

    # The master.
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号