MapReduce去重复数据打包服务器运行随堂笔记202111

一、 MapReduce去重复数据

案例:创建一个文件 1.txt
A 1
a 2
b 23
a 2
c 34
输出结果:
A 1
a 2
b 23
c 34

二、 准备工作

  1. 1.txt
  2. 将1.txt(本地文件)上传到hdfs文件系统中【hafs dfs –put 】
  3. 将idea程序打jar包
  4. 执行hadoop jar包的命令【hadoop jar jar_name class_name hdfs文件 输出路径】

三、 细节

  1. Mavan 本地仓库
    在这里插入图片描述

  2. Jar包

四、 代码

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
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.output.FileOutputFormat;

import java.io.IOException;

public class DuplicationMapReduce {
  /*
     MyMapper class  extends Mapper
     MyReducer class  extends Reducer

    */
    public static class MyMapper extends Mapper<LongWritable, Text,Text,Text> {
      private static Text line = new Text();
    @Override
    protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
     /* super.map(key, value, context);*/
      line = value;
      context.write(line,new Text(""));
    }
  }
    public static class MyReducer extends Reducer<Text,Text,Text,Text> {
      @Override
      protected void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException {
        /*super.reduce(key, values, context);*/
        context.write(key,new Text(""));
      }
    }
    public static void main(String[] args) throws IOException{
      Job job = Job.getInstance(new Configuration());
      job.setJarByClass(DuplicationMapReduce.class);// className
      job.setMapperClass(MyMapper.class);
      job.setReducerClass(MyReducer.class);
      job.setOutputKeyClass(Text.class);
      job.setOutputValueClass(Text.class);
      FileInputFormat.setInputPaths(job,new Path(args[0]));
      FileOutputFormat.setOutputPath(job,new Path(args[1]));
      try{
        Boolean result = job.waitForCompletion(true);
        System.exit(result?0:1);
      }catch(Exception e){
        e.printStackTrace();
      }
    }
}

五 、上传jar 包

在这里插入图片描述

六、 测试

在这里插入图片描述

hdfs dfs –put 1.txt /
在这里插入图片描述

hadoop jar Projectwx-1.0-SNAPSHOT.jar DuplicationMapReduce /1.txt /2021
在这里插入图片描述

hdfs dfs -cat /2021/part-r-00000

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值