Hadoop实战演练:搜索数据分析----数据去重 (1)

本文介绍使用Hadoop进行数据去重的实战过程,重点在于解决同一用户同一搜索关键词的重复条目问题。提供了环境配置、数据来源及格式说明,并给出了工程源码下载链接。
摘要由CSDN通过智能技术生成

         林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

          摘要:本文讲了如何使用hadoop进行数据去重

        工程源码下载:https://github.com/appleappleapple/BigDataLearning/tree/master/Hadoop-Demo

一、环境与数据

1、本地开发环境 

Windows7 + Eclipse Luna

hadoop版本:2.6.2

JDK版本:1.8

2、数据来源:

搜狗实验室

http://www.sogou.com/labs/resource/q.php

3、数据格式

用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL
其中,用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID

样例:


3、数据去重

每一人的同一个搜索关键词能可会有多个点击条数。这里要去除同一个人同一个关键词重复的条数

二、编程实现

package com.lin.keyword;

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;

/**
 * 功能概要:数据去重
 * 
 * @author linbingwen
 * @since 2016年7月31日
 */
public class CleanSameData {
	// map将输入中的value复制到输出数据的key上,并直接输出
	public static class Map extends Mapper<Object, Text, Text, Text> {

		// 实现map函数
        @Override
		public void map(Object key, Text value, Context contex
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值