基于大数据的MapReduce应用实践与网站用户行为分析
目录
一、MapReduce应用实践
二、网站用户行为分析
三、课程结论与心得
一、MapReduce应用实践
1、功能描述
在Hadoop上用Python实现WordCount
2、操作实践
1).步骤
A.步骤1:编写map函数,并增加可执行权限
B.步骤2:编写reduce函数,并增加可执行权限
C.步骤3:本地上测试运行map和reduce代码
D.步骤4:下载测试的文本文件并且上传到hdfs上
E.步骤5:设置环境变量
F.步骤6:提交任务
G.步骤7:查看结果
2).操作过程
A.步骤1:编写map函数,并增加可执行权限
1)步骤1
创建一个mapper.py脚本,从标准输入(stdin)读取数据,默认以空格分隔单词,然后按行输出单词机器词频到标准输出(stdout),整个Map处理过程不会统计每个单词出现的总次数,而是直接输出“word 1”,以便作为Reduce的输入进行统计,确保该文件是可执行的(chmod +x /home/hadoop/wc/mapper.py)。
2)操作截图
B.步骤2:编写reduce函数,并增加可执行权限
1)步骤2
创建一个reducer.py脚本,从标准输入(stdin)读取mapper.py的结果,然后统计每个单词出现的总次数并输出到标准输出(stdout),确保该文件是可执行的(chmod a+x /home/hadoop/wc/reducer.py)
3)操作截图
添加代码:
C.步骤3:本地上测试运行map和reduce代码
1)步骤3
在Hadoop平台运行之前在本地测试,校验mapper.py与reducer.py运行的结果是否正确。注意:测试reducer.py时需要对mapper.py的输出做排序(sort)操作,不过,Hadoop环境会自动实现排序。
#这里注意:利用管道符“|”将输出数据作为mapper.py这个脚本的输入数据,并将mapper.py的数据输入到reducer.py中,其中参数sort -k 1,1是将reducer的输出内容按照第一列的第一个字母的ASCII码值进行升序排序。
2)操作截图
D.步骤4:下载测试的文本文件并且上传到hdfs上
1)步骤4相关描述
mapper.py, reducer.py本地测试通过之后放到HDFS上运行,下载文本文件然后上传到hdfs上
2)操作截图
<