• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > MapReduce编程之数据去重,mapreduce编程数据

MapReduce编程之数据去重,mapreduce编程数据

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含mapreduce数据去重,mapreduce数据倾斜,mapreduce数据清洗,mapreduce过滤数据,mapreduce数据流图等服务器相关知识,网友希望可以进行参考

MapReduce编程之数据去重,mapreduce编程数据


    数据去重主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。下面就进入这个实例的MapReduce程序设计。

package com.hadoop.mr;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
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 org.apache.hadoop.util.GenericOptionsParser;

public class Dedup {

    //map将输入中的value复制到输出数据的key上,并直接输出
    public static class Map extends Mapper<Object,Text,Text,Text>{
        private static Text line=new Text();//每行数据

        //实现map函数

        public void map(Object key,Text value,Context context)
                throws IOException,InterruptedException{

            line=value;
            context.write(line, new Text(""));[/indent]
        }
    }

    //reduce将输入中的key复制到输出数据的key上,并直接输出
    public static class Reduce extends Reducer<Text,Text,Text,Text>{

        //实现reduce函数
        public void reduce(Text key,Iterable<Text> values,Context context)
                throws IOException,InterruptedException{

            context.write(key, new Text(""));

        }

    }

    public static void main(String[] args) throws Exception{

        Configuration conf = new Configuration();

        //这句话很关键
        conf.set("mapred.job.tracker", "192.168.1.2:9001");
        String[] ioArgs=new String[]{"dedup_in","dedup_out"};
        String[] otherArgs = new GenericOptionsParser(conf, ioArgs).getRemainingArgs();

        if (otherArgs.length != 2) {
        
             System.err.println("Usage: Data Deduplication <in> <out>");
             System.exit(2);
     }

     Job job = new Job(conf, "Data Deduplication");
     job.setJarByClass(Dedup.class);

     //设置Map、Combine和Reduce处理类
     job.setMapperClass(Map.class);
     job.setCombinerClass(Reduce.class);
     job.setReducerClass(Reduce.class);

     //设置输出类型

     job.setOutputKeyClass(Text.class);
     job.setOutputValueClass(Text.class);

     //设置输入和输出目录

     FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
     FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));

     System.exit(job.waitForCompletion(true) ? 0 : 1);

     }
}

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MapReduce编程之数据去重,mapreduce编程数据
  • MapReduce处理数据平均值与数值大小排行比较,mapreduce平均值

相关文章

  • MapReduce处理输出多文件格式(MultipleOutputs),mapreduce多文件输出
  • 最笨的方法解决 使用Snappy 压缩方式报错“java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path”,java.library.path
  • MapReduce的两表join操作优化,mapreduce表join
  • 超人学院Hadoop大数据资源分享,超人学院hadoop分享
  • OutOfMemoryError PermGen space 的解决办法(头痛了几天),permgenspace
  • Docker exec与Docker attach,dockerexecattach
  • Hbase集群扩展,hbase集群
  • openstack中nova组件Hypervisors、Floating_ips的所有python API 汇总,openstackpython
  • 大数据学习笔记1--hadoop简介和入门,学习笔记1--hadoop
  • 漫谈分布式系统:三种通信范型

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • hadoop权威指南(第四版)要点翻译(1)——Foreword and Preface,hadoopforeword
    • HBase入门5(集群),hbase入门5集群
    • Hive学习笔记(二),hive学习笔记
    • CDH集群中YARN的参数配置,cdh集群yarn参数
    • libvirt网络过滤规则:禁止客户机(bridge方式)连接外网,libvirtbridge
    • Elasticsearch之Nested Aggregation,elasticsearch
    • hadoop distcp使用,hadoopdistcp
    • RabbitMQ(python实现)学习之一:简单两点传输“Hello World”的实现,rabbitmqpython
    • hive如何应对数据倾斜,hive应对数据倾斜
    • 一个spark receiver 或多个spark receiver 接收 多个flume agent,receiverflume

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有