
# MapReduce统计样例程序开发思路
#### 场景说明
假定用户有某个周末网民网购停留时间的日志文本，基于某些业务要求，要求开发MapReduce应用程序实现如下功能：
- 统计日志文件中本周末网购停留总时间超过2个小时的女性网民信息。
- 周末两天的日志文件第一列为姓名，第二列为性别，第三列为本次停留时间，单位为分钟，分隔符为","。
log1.txt：周六网民停留日志
```
LiuYang,female,20
YuanJing,male,10
GuoYijun,male,5
CaiXuyu,female,50
Liyuan,male,20
FangBo,female,50
LiuYang,female,20
YuanJing,male,10
GuoYijun,male,50
CaiXuyu,female,50
FangBo,female,60
```
log2.txt：周日网民停留日志
```
LiuYang,female,20
YuanJing,male,10
CaiXuyu,female,50
FangBo,female,50
GuoYijun,male,5
CaiXuyu,female,50
Liyuan,male,20
CaiXuyu,female,50
FangBo,female,50
LiuYang,female,20
YuanJing,male,10
FangBo,female,50
GuoYijun,male,50
CaiXuyu,female,50
FangBo,female,60
```
#### 数据规划
首先需要把原日志文件放置在HDFS系统里。
1. 在Linux系统上新建两个文本文件，将log1.txt中的内容复制保存到input_data1.txt，将log2.txt中的内容复制保存到input_data2.txt。
2. 在HDFS上建立一个文件夹"/tmp/input"，并上传input_data1.txt，input_data2.txt到此目录，命令如下：
   1. 登录HDFS客户端。 **cd** *客户端安装目录*
      **source bigdata_env**
      
   
   2. 在Linux系统HDFS客户端使用命令*hdfs dfs -mkdir /tmp/input*
   
   3. 在Linux系统HDFS客户端使用命令*hdfs dfs -put* *local_filepath /tmp/input*
    
 
#### 开发思路
统计日志文件中本周末网购停留总时间超过2个小时的女性网民信息。
主要分为四个部分：
- 读取原文件数据。
- 筛选女性网民上网时间数据信息。
- 汇总每个女性上网总时间。
- 筛选出停留总时间大于2个小时的女性网民信息。
 
