Hadoop之MapReduce调度:通过shell进行多日期的串行跑批统计

来源:互联网 发布:大数据主要来源于哪些 编辑:程序博客网 时间:2024/05/16 15:45
1、统计对应链接访问量的Python脚本
由于业务上暂用不到reduce过程,所以只有一个mapper脚本。
/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/filter_mapperOnly.py
#!/usr/bin/env python# encoding: utf-8import sys# 输入为标准输入stdinfor line in sys.stdin:    if '/room/m-1015.htm' in line:        print '%s' % (line)

2、按天调度的shell脚本
/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/mpBatResultGet.sh
#!/usr/bin/env bashrm -rf result.txtfor dataDate in 2017-08-21 2017-08-22 2017-08-23 2017-08-24 2017-08-25 2017-08-26 2017-08-27 2017-08-28;doecho $dataDatehadoop dfs -rm -r -skipTrash /nisj/mp_result;hadoop jar /opt/apps/hadoop-2.7.2/share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar \-mapper /home/hadoop/nisj/hitsCalc3/filter_mapperOnly.py -file /home/hadoop/nisj/hitsCalc3/filter_mapperOnly.py \-input /tmp/oss_access/$dataDate/*_localhost_access_log.$dataDate.*.txt \-output /nisj/mp_result#hadoop dfs -cat /nisj/mp_result/*hitsNum=`hadoop dfs -cat /nisj/mp_result/* |grep -v "^$"|wc -l`echo $dataDate '--->' $hitsNum >> result.txtdone

3、扩展
根据需要,可以按不同的链接地址、不同的日志路径及日期进行总体性动态实现;暂时这部分没有做,可能会在以后的版本中涉及和实现。
阅读全文
0 0
原创粉丝点击