zoukankan      html  css  js  c++  java
  • MapReduce的主要的六个类讲解

    a、InputFormat类。该类的作用是将输入的文件和数据分割成许多小的split文件,
    并将split的每个行通过LineRecorderReader解析成<Key,Value>,通过job.setInputFromatClass()函数来设置,
    默认的情况为类TextInputFormat,其中Key默认为字符偏移量,value是该行的值。
    b、Map类。根据输入的<Key,Value>对生成中间结果,默认的情况下使用Mapper类,
    该类将输入的<Key,Value>对原封不动的作为中间按结果输出,通过job.setMapperClass()实现。实现Map函数。
    c、Combine类。实现combine函数,该类的主要功能是合并相同的key键,通过job.setCombinerClass()方法设置,
    默认为null,不合并中间结果。实现map函数
    d、partitioner类。 该该主要在Shuffle过程中按照Key值将中间结果分成R份,其中每份都有一个Reduce去负责,
    可以通过job.setPartitionerClass()方法进行设置,默认的使用hashPartitioner类。实现getPartition函数
    e、Reducer类。 将中间结果合并,得到中间结果。通过job.setReduceCalss()方法进行设置,默认使用Reducer类,实现reduce方法。
    f、OutPutFormat类,该类负责输出结果的格式。可以通过job.setOutputFormatClass()方法进行设置。
    默认使用TextOUtputFormat类,得到<Key,value>对。
    note:hadoop主要是上面的六个类进行mapreduce操作,使用默认的类,处理的数据和文本的能力很有限,
  • 相关阅读:
    图片圆角
    ios三张图片组合一张
    使用atomic一定是线程安全的吗?
    webservice异常
    Spring AOP中pointcut expression表达式解析 及匹配多个条件
    spring和mybatis的整合配置
    spring4配置文件详解
    MyBatis的接口式编程Demo
    关于中国电信天翼开放平台短信接口的一些使用
    HttpInvoker http请求工具类
  • 原文地址:https://www.cnblogs.com/wangleBlogs/p/9661701.html
Copyright © 2011-2022 走看看