0

Pythonのダンボパッケージを使用して、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

dumpo_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 に答える