UNIX サーバーと Hadoop サーバーの間で md5s を比較する必要があります。これをpythonでやりたいと思っています。Pythons hashlib を使用したいのですが、hadoop でこれを実行できるかどうか、または何らかの stdin/stdout を使用する必要があるかどうかはわかりません。
質問する
1190 次
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 に答える