真正的勇敢,不是只知道进,不知道退;而是在应进的时候,不退缩;该退的时候,不怕人嘲笑,敢于退让。——人民日报
计数器应用
Hadoop为每个作业维护若干内置计数器,以描述多项指标。例如,某些计数器记录已处理的字节数和记录数,使用户可监控已处理的输入数据量和已产生的输出数据量。
1.计数器API
(1)采用枚举的方式统计计数
enum MyCounter{MALFORORMED,NORMAL}
//对枚举定义的自定义计数器加1
context.getCounter(MyCounter.MALFORORMED).increment(1);
(2)采用计数器组、计数器名称的方式统计
context.getCounter(“counterGroup”, “counter”).increment(1);
组名和计数器名称随便起,但最好有意义。
(3)计数结果在程序运行后的控制台上查看。
- 计数器案例实操
详见数据清洗案例。 案例代码: https://github.com/ShangBaiShuYao/bigdata/blob/master/src/main/java/com/shangbaishuyao/hadoop/mapJoin/MapJoinMapper.java
计数器, 看看这个方法被调用了多少次
数据清洗(ETL)
概念
在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序。
数据清洗案例实操-简单解析版
需求
去除日志中字段个数小于等于11的日志
需求分析
需要在Map阶段对输入的数据根据规则进行过滤清洗。
案例代码
https://github.com/ShangBaiShuYao/bigdata/blob/master/src/main/java/com/shangbaishuyao/hadoop/ETL/
数据清洗案例实操-复杂解析版
需求
对Web访问日志中的各字段识别切分,去除日志中不合法的记录。根据清洗规则,输出过滤后的数据。
需求分析
需要在Map阶段对输入的数据根据规则进行过滤清洗。
案例代码
https://github.com/ShangBaiShuYao/bigdata/blob/master/src/main/java/com/shangbaishuyao/hadoop/ETL2/
- 本文作者: xubatian
- 本文链接: http://xubatian.cn/hadoop的计数器应用和数据清洗/
- 版权声明: 本博客所有文章除特别声明外均为原创,采用 CC BY 4.0 CN协议 许可协议。转载请注明出处:https://www.xubatian.cn/