pvmapper

这篇文章介绍了在ApacheHadoopMapReduce中,PVMapper类用于日志数据处理,通过filterByPVs方法过滤并清洗数据,仅对合法日志记录用户请求的URL进行计数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.qingjiao.traning.mr.weblog.pv;

 

import com.qingjiao.traning.mr.weblog.UserUtils;

import com.qingjiao.traning.mr.weblog.WebLog;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Mapper;

 

import java.io.IOException;

 

/*

input: key=> 行偏移量 value=> 一行日志

output: <url,1>

 */

public class PVMapper extends Mapper<LongWritable, Text,Text, IntWritable> {

    // 初始化key和value

    Text k =new Text();

    IntWritable v=new IntWritable(1);

 

    @Override

    protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, IntWritable>.Context context) throws IOException, InterruptedException {

        // 读取一行数据,调用对应的方法实现对日志的过滤和清洗

        WebLog webLog = UserUtils.filterByPVs(value.toString());

 

        // 判断日志是否合法,合法参与数据统计

        if (webLog.isFlag()) {

            // 将用户请求的url封装为key

            k.set(webLog.getRequestURL());

            context.write(k,v);

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值