Open zyhxq opened 8 years ago
首先要做词频分析,需要安装中文分词的工具,我们为了快速实现分词过程,选择 Python 语言编写 MapReduce 程序,Python 分词工具选择优秀的结巴分词。
默认用户 shiyanlou 环境中安装结巴分词.
注意:由于实验楼网络限制,pip 安装 jieba 需要连接阿里云的 pip 源,使用下述命令
sudo apt-get install python-pip sudo pip install jieba
基于 Hadoop 的 Streaming 工作模式,Streaming 模式下 Hadoop 可以使用非 Java 编写的 MapReduce 程序。
MapReduce 是一种编程模型,适用于处理海量的数据,分为 Map(映射)和 Reduce(归约)两个步骤,Mapper 函数将一组 key-value 对映射为一组新的 key-value,然后交给并发的 Reducer 函数。词频统计中,Mapper 接受的 key 是文件名称,值是文件的内容,使用分词后逐个遍历词,每遇到一个词就产生一个中间 key-value 对(词,1),key 指的是词,value 是1,表示又找到了一个词。MapReduce 程序将 key 相同(同一个词)的 key-value 对传给 Reducer,这样 Reducer 接收了一系列同一 key 的 key-value 对,然后累加后得到该词出现的次数。最终将计算结果输出到 HDFS 文件系统。
目标: 熟悉 Hadoop 程序开发及执行流程 熟悉 MapReduce 基本原理 学习结巴分词用法 学习词频统计方法