如何将reducer中的结果打印到单个文件中

时间:2016-05-13 01:14:17

标签: python hadoop amazon-web-services emr

我正在使用Amazon EMR,由于它的工作方式(并行),我的输出会分成多个文件。

但我希望有一个文件而不是正确的序列,是否有可能做到这一点?

我在reducer中的最后一行是这样的

for key, value in doc_dict.iteritems():
    print key
    for k, v in value.iteritems():
        print k,v

这让我发疯,因为他们混在一起我无法呈现结果。

1 个答案:

答案 0 :(得分:1)

您必须运行脚本来合并零件文件

hadoop fs -getmerge /output/dir/on/hdfs/ /desired/local/output/file.txt

或者您可以将它们写入Reducer中的外部数据库,然后将结果从中删除。 对于我做过的一个项目,我发现HBase对此非常有用