Python的MapReduce调用及多输入文件的使用(统计url的点击量)
来源:互联网 发布:揭阳淘宝村在哪里 编辑:程序博客网 时间:2024/05/22 12:54
1、在日志中统计对应链接的点击量脚本
由于业务上暂用不到reduce过程,所以只有一个mapper脚本。
/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/filter_mapperOnly.py
2、Python的MapReduce调用
2.1、按天统计
即一次统计一天的日志文件,计算链接在一天内的点击量。
2.2、一天内某几个小时的点击量统计
可以使用正则实现需求,中括号里的对应的是一个字符。
2.3、正则及多输入文件实现跨天某几个小时的点击量统计
多输入文件可以是如下两种方式,经测试,它们的结果是一致的。
另一个的测试:
3、结果的最终统计
#过滤出的结果查看:
hadoop dfs -cat /nisj/mp_result/*
#点击量的统计计算
hadoop dfs -cat /nisj/mp_result/* |wc -l
由于业务上暂用不到reduce过程,所以只有一个mapper脚本。
/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/filter_mapperOnly.py
#!/usr/bin/env python# encoding: utf-8import sys# 输入为标准输入stdinfor line in sys.stdin: # 删除开头和结果的空格 if '/event/apply/template/yhzrsolo.htm?s_=rmhd' in line: print '%s' % (line)
2、Python的MapReduce调用
2.1、按天统计
即一次统计一天的日志文件,计算链接在一天内的点击量。
hadoop 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/2017-08-21/*_localhost_access_log.2017-08-21.*.txt \-output /nisj/mp_result
2.2、一天内某几个小时的点击量统计
可以使用正则实现需求,中括号里的对应的是一个字符。
hadoop 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/2017-08-2[1-4]/*_localhost_access_log.2017-08-2[1-4].*.txt \-output /nisj/mp_result
2.3、正则及多输入文件实现跨天某几个小时的点击量统计
多输入文件可以是如下两种方式,经测试,它们的结果是一致的。
hadoop 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/2017-08-21/*_localhost_access_log.2017-08-21.1[8-9].txt \-input /tmp/oss_access/2017-08-21/*_localhost_access_log.2017-08-21.2[0-3].txt \-input /tmp/oss_access/2017-08-22/*_localhost_access_log.2017-08-22.0[0-9].txt \-input /tmp/oss_access/2017-08-22/*_localhost_access_log.2017-08-22.1[0-8].txt \-output /nisj/mp_result
hadoop 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/2017-08-21/*_localhost_access_log.2017-08-21.1[8-9].txt /tmp/oss_access/2017-08-21/*_localhost_access_log.2017-08-21.2[0-3].txt /tmp/oss_access/2017-08-22/*_localhost_access_log.2017-08-22.0[0-9].txt /tmp/oss_access/2017-08-22/*_localhost_access_log.2017-08-22.1[0-8].txt \-output /nisj/mp_result
另一个的测试:
hadoop 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/xx.py -file /home/hadoop/nisj/hitsCalc3/xx.py \-input /tmp/oss_access/2017-08-21/*_localhost_access_log.2017-08-21.1[8-9].txt /tmp/oss_access/2017-08-21/*_localhost_access_log.2017-08-21.2[0-3].txt \-output /nisj/mp_resulthadoop 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/xx.py -file /home/hadoop/nisj/hitsCalc3/xx.py \-input /tmp/oss_access/2017-08-21/*_localhost_access_log.2017-08-21.1[8-9].txt \-input /tmp/oss_access/2017-08-21/*_localhost_access_log.2017-08-21.2[0-3].txt \-output /nisj/mp_result
3、结果的最终统计
#过滤出的结果查看:
hadoop dfs -cat /nisj/mp_result/*
#点击量的统计计算
hadoop dfs -cat /nisj/mp_result/* |wc -l
阅读全文
0 0
- Python的MapReduce调用及多输入文件的使用(统计url的点击量)
- 用Python编写MapReduce代码与调用-统计accessLog中链接的点击量
- Python根据AccessLog统计对应Url的点击量
- Python根据AccessLog统计对应Url的点击量2
- MapReduce编程练习(四),统计多个输入文件学生的平均成绩,
- 几种代码量统计工具的安装及使用
- MapReduce对输入多文件的处理
- MapReduce对输入多文件的处理
- python常用统计量的计算
- MapReduce-Counter使用-快速实现大文件行数的统计
- 通过游标高效的完成商品点击量的统计
- 常用的数量统计量的计算及统计意义
- 使用Spring application对象存储全局变量,统计链接的点击量
- 用Shell根据AcessLog统计对应的点击量
- oracle 进程使用PGA量的统计
- 统计量的含义
- MapReduce类的输入文件的格式
- 用Python编写MapReduce代码与调用-某一天之前的所有活跃用户统计(1)
- element-ui 自定义弹框,加入图片
- ubuntu安装完要做的工作
- MapReduce的优化
- 微信V3支付(避免重复进入这个坑)
- Ubuntu16.04默认安装了Python2和Python3的版本
- Python的MapReduce调用及多输入文件的使用(统计url的点击量)
- 制作大型MMO项目中的相机视角操作
- 设计模式之工厂模式VS抽象工厂模式
- ASP.NET MVC 5
- macOS编程 NSView改变背景色
- Java基础——response.setContentType(...)与response.addHeader(...)
- LeetCode 2. Add Two Numbers
- 在谷歌浏览器安装json格式化插件
- 建立保持时间的介绍与分析