0

我正在尝试借助 python 的 dumbo 包从 hadoop 的序列文件中获取文件名。但它为我提供了某种标识符。我如何将其映射到文件名?

以下是我在 hadoop 系统上获取文件名的步骤:

步骤 1)生成序列文件

命令 :

hadoop jar /mnt/Clustering/Checking/AllJars/binarypig-1.0-SNAPSHOT-jar-with-dependencies.jar com.endgame.binarypig.util.BuildSequenceFileFromDir /mnt/Clustering/Checking/text_files text_files_seq

步骤 2)通过 hadoop 在序列文件上运行 python 脚本

命令:

dumbo start dumbo_map_red.py -input text_files_seq -output out_res -hadoop /usr/local/hadoop

步骤 3)在本地目录中获取输出

命令:

dumbo cat out_res/part-* -hadoop /usr/local/hadoop > out_res.txt

dumbo_map_red.py 在哪里

#!/usr/bin/env python

def mapper(key, value):
    yield key, 1

def reducer(key, values):
    yield key, sum(values)

if __name__ == "__main__":
    import dumbo
    dumbo.run(mapper, reducer)

请帮助我知道如何获取文件名。如果他们是 python 中的其他包,可以让我以这种方式工作,请告诉我..

4

1 回答 1

0

终于得到了将序列文件中的标识符映射到实际文件的提示。

标识符是目录中文件的MD5。

于 2015-01-05T13:59:09.917 回答