zoukankan      html  css  js  c++  java
  • Mapper类的源码分析

    Mapper类源码解析
    --------------------------
    1.来自[org.apache.hadoop.mapreduce.Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>]
    2.java Doc说明:
    Map将输入数据<k,v>转换成中间数据集<k,v>
    map将为输入的数据的每一个记录(行)执行map函数,MR通过inputfomart生成inputSplit(切分)对象,
    并根据每个split产生相对应的maptask。
    split切分原则(逻辑的):默认每个block对应一个split。slop指标:1.1
    注:如一个文件为130m,生成2个block;一个大小为128m,另一个为2m;
    inputsplit切分个数为:1个;
    map的输出通过每个reduce进行分区(partition);用户可以通过自定义分区判定哪一个key发送到指定的reduce;
    3.Mapper构成:
    4个方法:
    setup() : 在任务开始时调用一次;
    map() : 对输入分块中的每个键/值(行偏移量/行内容)对调用一次。大多数应用程序应该覆盖这个,但默认是identity函数。
    cleanup() : 在任务结束时调用一次;
    run() : 专家用户可以重写此方法以获得更全面的控制执行。该方法描述了map阶段的函数调用过程。
    4.总结:
    maptask任务数:由inputsplit切分决定;inputsplit决定由block决定。每个job的map阶段肯定存在的;
    reducetask任务数:由job.setNumReducetasks()进行设置,每个reduce根据partition生成不同的输出文件;
    案例:设置reducenum数量,默认为1;测试将reducenum设置为2或5
    设置reducenum数量为0,取消reduce阶段;
    不设置mapper;

  • 相关阅读:
    美国队长
    weka数据预处理
    weka特征选择(IG、chi-square)
    生成arff文件,csv转为arff
    logistic regression的一些问题,不平衡数据,时间序列,求解惑
    Feature Scaling
    【转】机器学习问题方法总结
    Canopy算法聚类
    ROC曲线及AUC评价指标
    评估指标:准确率(Precision)、召回率(Recall)以及F值(F-Measure)
  • 原文地址:https://www.cnblogs.com/lyr999736/p/9248471.html
Copyright © 2011-2022 走看看