0

UNIX サーバーと Hadoop サーバーの間で md5s を比較する必要があります。これをpythonでやりたいと思っています。Pythons hashlib を使用したいのですが、hadoop でこれを実行できるかどうか、または何らかの stdin/stdout を使用する必要があるかどうかはわかりません。

4

2 に答える 2

0

「hadoop」で何を意味するのかよくわかりません。Hadoop を使用して特定のプログラムを実行できると思います。その中で、md5 計算ルーチンを使用できます。

import hashlib
hash = hashlib.md5()
hash.update( "stringformd5" )
hash.hexdigest()
于 2012-10-16T20:04:12.983 に答える
0

ローカルファイルシステムにダウンロードできます

hadoop fs -copyToLocal 

Python の例:

import hashlib
import subprocess

def md5_for_file(f, block_size=2**20):
    md5 = hashlib.md5()
    while True:
        data = f.read(block_size)
        if not data:
            break
        md5.update(data)
    return md5.digest()

bashCommand = "hadoop fs -copyToLocal" + from + " " + to
hash = hashlib.md5()
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
print md_for_file(to)
于 2013-09-04T18:30:03.750 に答える