使用Hadoop的MapReduce和jieba分词统计西游记中的词频
这个功能主要是使用python的jieba分词模块来分词,然后使用mapreduce来统计,其实功能很简单,但是由于刚开始接触使用hadoop,出现了各种问题,这里记录下。
在hadoop执行的mapreduce程序时,使用python非系统模块的话会出现找不到包的错误,网上找到了一种解决方案,使用系统内置的zipimport模块,使用方法:
首先将该模块的所有文件复制到当前目录,然后执行:
zip -r jieba.zip jieba
mv jieba.zip jieba.mod
然后代码中就可以这样引入:
import sys
sys.path.append('./')
import zipimport
importer = zipimport.zipimporter('jieba.mod')
jieba = importer.load_module('jieba')
import jieba.analyse
执行的时候又提示错误.在import jieba.analyse时候报错找不到idf.txt这个文件,看了下jieba的源码才发现,在tfidf.py文件如下代码块:
_get_module_path = lambda path: os.path.normpath(os.path.join(os.getcwd(),
...
这样就可以开着树莓派,然后只要通过浏览器就可以实时监控到你感兴趣的地方,代码也挺简单的,如下: