首先安装分析工作
sudo pip install jieba -i http://pypi.doubanio.com/simple/
需求:求一本小说里面出现次数最多得人名
呆萌(demo)的代码将基于 Hadoop 的 Streaming 工作模式实现,Streaming 模式下 Hadoop 可以使用非 Java 编写的 MapReduce 程序。
数据:小说《天龙八部》
首先我们实现 Mapper 程序,Mapper 程序的作用就是:
- 从 stdin 标准输入中依次读取每一行。
- 对每一行使用 jieba 分词进行分词。
- 对分词得到的词汇列表进行 Map 操作:每个词都映射成(word,1)这样的二元组,并输出到标准输出 stdout 中。
mapper阶段:
#!/usr/bin/env python
# 引入 jieba 分词模块
import jieba
import sys
# 从 stdin 标准输入中依次读取每一行
for line in sys.stdin:
# 对每一行使用 jieba 分词进行分词
wlist