0

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

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 回答