我需要比较 unix 服务器和 hadoop 服务器之间的 md5s。我想用python来做这个。我想使用 pythons hashlib,但我不知道我是否可以使用 hadoop 做到这一点,或者我是否必须使用某种标准输入/标准输出。
问问题
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 回答