Hadoop 的 MapReduce 词频统计案例,适合练手,也适合熟悉集群环境下的数据。用的是最经典的WordCount
模型,逻辑清晰、结构简单。文章里通过 Linux 下的 Hadoop 集群跑起来,蛮接地气的,适合入门 MapReduce 的朋友看一看。
Map 阶段就是按行读取文本,用 Java 的StringTokenizer
按空格分词。Reduce 阶段统计每个单词的数量,输出结果。虽然思路老套点,但胜在稳,跑大文本性能还不错。
搭配 Hadoop 集群使用,推荐你先搞定基础环境。可以参考这些:Linux 下的 Hadoop 安装,还有MapReduce 数据这篇也蛮实用的,能顺一下思路。
想玩点进阶的?比如中英文混合文本的TopN
统计,也有现成的例子,看看这个TopN 中英文词频,细节比较多,适合抠细节。
另外,开发环境也别忽略,MapReduce 插件集成包用起来挺顺手的,少折腾。Windows 用户要注意winutils.exe
,不然环境变量容易出坑,相关看这里:Windows 访问 Hadoop 集群。
如果你想从 0 搭一个完整环境,再从WordCount
玩到复杂的流式统计,那这些资源可以一步步带你起飞。别怕老套路,练熟了再进阶也不迟。