我需要比较unix服务器和hadoop服务器之间的md5s。我想用python做这个。我想使用pythons hashlib,但是我不知道我是否可以用hadoop实现这个功能,或者我是否必须使用某种stdin/stdout。
z9zf31ra1#
不太清楚你说的“hadoop”是什么意思。我相信,你可以用hadoop运行一个特定的程序。因为你可以使用md5计算例程。
import hashlib hash = hashlib.md5() hash.update( "stringformd5" ) hash.hexdigest()
y3bcpkx12#
你可以下载到你的本地文件系统
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)
2条答案
按热度按时间z9zf31ra1#
不太清楚你说的“hadoop”是什么意思。我相信,你可以用hadoop运行一个特定的程序。因为你可以使用md5计算例程。
y3bcpkx12#
你可以下载到你的本地文件系统
python示例: