bloom filter原理介绍:
【 http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html 】
【 https://en.wikipedia.org/wiki/Bloom_filter 】
python 版本的bloom filter代码实现:
【 http://axiak.github.io/pybloomfiltermmap/index.html# 】
pybloomfiltermmap安装:
本地编译安装pybloomfiltermmap时需要使用下面的环境:
pydev:
作者本地有两个版本的python,这里就下载了两个版本
sudo apt-get install python-dev python3-dev
setuptools:
参考官网的介绍,直接使用wget方式,这里同样在两个版本上安装:
wget https://bootstrap.pypa.io/ez_setup.py -O – | sudo python
wget https://bootstrap.pypa.io/ez_setup.py -O – | sudo python3
libcrypto.so
编译时需要使用库libcrypto.so,作者本地环境里面有,就没有额外下载,如果没有,需要安装openssl:
cstriker1407@cstriker1407-x64: /lib $ find . -name "*libcrypto*" |
. /x86_64-linux-gnu/libcrypto .so.1.0.0 |
. /i386-linux-gnu/libcrypto .so.1.0.0 |
cstriker1407@cstriker1407-x64: /lib $ sudo ln -s /lib/x86_64-linux-gnu/libcrypto .so.1.0.0 /usr/lib64/libcrypto .so |
cstriker1407@cstriker1407-x64: /lib $ sudo ln -s /lib/i386-linux-gnu/libcrypto .so.1.0.0 /usr/lib32/libcrypto .so |
上面的环境都搞定之后,就可以开始下载安装了。
从github上下个最新版本,下载网址:【 https://github.com/axiak/pybloomfiltermmap/tags 】
然后执行命令:
cstriker1407@cstriker1407-x64:~$ tar -zxf pybloomfiltermmap-release-0.3.12. tar .gz |
cstriker1407@cstriker1407-x64:~$ cd pybloomfiltermmap-release-0.3.12/ |
然后打开setup.py文件,将31行和43行的print xx 改为print(xx),保存退出,然后开始安装:
cstriker1407@cstriker1407-x64:~ /pybloomfiltermmap-release-0 .3.12$ sudo python setup.py install |
Adding pybloomfiltermmap 0.3.12 to easy- install .pth file |
Installed /usr/local/lib/python2 .7 /dist-packages/pybloomfiltermmap-0 .3.12-py2.7-linux-x86_64.egg |
Processing dependencies for pybloomfiltermmap==0.3.12 |
Finished processing dependencies for pybloomfiltermmap==0.3.12 |
cstriker1407@cstriker1407-x64:~ /pybloomfiltermmap-release-0 .3.12$ sudo python3 setup.py install |
Adding pybloomfiltermmap 0.3.12 to easy- install .pth file |
Installed /usr/local/lib/python3 .4 /dist-packages/pybloomfiltermmap-0 .3.12-py3.4-linux-x86_64.egg |
Processing dependencies for pybloomfiltermmap==0.3.12 |
Finished processing dependencies for pybloomfiltermmap==0.3.12 |
简单使用:
API:【 http://axiak.github.io/pybloomfiltermmap/ref.html# 】
from pybloomfilter import BloomFilter; |
mybf = BloomFilter(10, 0.3,b 'tmpfile.bf' ); |
print( "len:" , len(mybf)); |
print( "len:" , len(mybf)); |
print( "len:" , len(mybf)); |
输出:
发表评论