有没有办法比较unix上的md5和hadoop上的md5与python?

时间:2012-10-16 19:57:29

标签: python hadoop md5

我需要比较unix服务器和hadoop服务器之间的md5。我想用python做这个。我想使用pythons hashlib,但我不知道我是否可以用hadoop做这个,或者我是否必须使用某种stdin / stdout。

2 个答案:

答案 0 :(得分:0)

不太确定你和#34; hadoop"的意思。我相信,你可以使用hadoop运行一个特定的程序。您可以使用md5计算例程。

import hashlib
hash = hashlib.md5()
hash.update( "stringformd5" )
hash.hexdigest()

答案 1 :(得分: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)