我正在尝试借助 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 中的其他包,可以让我以这种方式工作,请告诉我..