`

hadoop自定义Counter

阅读更多
hadoop0.20.X版本中对counter进行了改进,具体写法如下,mark一下
public static class TokenizerMapper 
       extends Mapper<Object, Text, Text, IntWritable>{
    
    private final static IntWritable one = new IntWritable(1);
    private Text word = new Text();
    private final static Logger log = Logger.getLogger(TokenizerMapper.class);
    private static Counter ct = null;
    
    public void map(Object key, Text value, Context context
                    ) throws IOException, InterruptedException {
      StringTokenizer itr = new StringTokenizer(value.toString());
      while (itr.hasMoreTokens()) {
    	  String name = itr.nextToken();
    	  if("test".equals(name)){
    		  ct = context.getCounter("TestFinder", "发现test");
    		  ct.increment(1);
    	  }
        word.set(name);
        context.write(word, one);
      }
    }
  }

直接定义即可,如无此counter,hadoop会自动添加此counter.
分享到:
评论

相关推荐

    javamap源码-HADOOP-COUNTER-SOURCE-CODE:在HadoopMapReduce编码中使用自定义计数器的Java程序

    在Hadoop MapReduce框架中,计数器(Counter)是一个重要的功能,用于在分布式计算过程中跟踪和统计各种指标。在“javamap源码-HADOOP-COUNTER-SOURCE-CODE”项目中,我们可以深入理解如何在Java程序中利用Hadoop的...

    secondarysort.zip

    总的来说,"secondarysort.zip"项目是一个深入理解Hadoop MapReduce排序机制、自定义Counter和配置管理的实例。通过学习这个项目,开发者可以掌握如何在实际问题中灵活应用Hadoop MapReduce,提升大数据处理的效率和...

    Hadoop源码分析 完整版 共55章

    - **序列化机制**:为了满足Hadoop MapReduce和HDFS的通信需求,Hadoop采用了自定义的序列化机制而不是Java自带的序列化方式。这一机制主要体现在`org.apache.hadoop.io`包中的各类可序列化对象,它们实现了`...

    Hadoop源代码分析(完整版).pdf

    - **自定义序列化机制**:为了提高性能和灵活性,Hadoop并未使用Java自带的序列化机制,而是采用了自定义的序列化方案。 - **Writable接口**:定义了一系列可序列化对象,这些对象实现了`Writable`接口。 - **序列...

    Hadoop源代码分析(三)

    总结来说,Hadoop的序列化机制主要基于`Writable`接口,通过自定义的序列化和反序列化方法实现数据的转换。`ObjectWritable`作为通用的载体,适应了RPC通信中不同类型的对象传输。`WritableFactories`则是保证`...

    Hadoop源代码分析完整版

    Hadoop采用了自定义的序列化机制,而不是Java内置的序列化机制。这是因为内置的序列化机制效率较低,且不支持跨语言交互。因此,Hadoop在`org.apache.hadoop.io`包中定义了大量的可序列化对象,它们都实现了`...

    hadoop 源码分析 文档

    例如,自定义的`MyWritable`类会实现`write`方法,将成员变量`counter`和`timestamp`写入`DataOutput`。 通过深入分析Hadoop的源码,我们可以理解其内部工作原理,优化性能,或者开发新的功能和扩展。这对于任何...

    Hadoop源代码分析 pdf 文字版

    Hadoop采用了自定义的序列化方式而非Java的默认序列化机制。 - **Writable接口**:`org.apache.hadoop.io`包下的许多类实现了`Writable`接口,这使得它们能够在Hadoop的环境中进行序列化和反序列化。 - **示例代码**...

    hadoop分布式文件系统源代码详细解析.pdf

    Hadoop并未采用Java内置的序列化机制,而是自定义了一套序列化系统,主要由org.apache.hadoop.io中的Writable接口实现。例如,一个实现了Writable接口的类MyWritable,其write方法会将counter和timestamp写入...

    介绍基于Hadoop的C++扩展和新的任务计划

    - **高级接口**:允许用户自定义更多的功能,如JobConf用于获取作业配置、Counter允许用户定义计数器等。 #### 七、HCE实例——Word Count 以Word Count为例,展示了如何使用HCE进行MapReduce任务的编写和执行。...

    18、MapReduce的计数器与通过MapReduce读取-写入数据库示例

    计数器分为两类:Hadoop内置的计数器和自定义计数器。 内置计数器主要由Hadoop框架提供,例如Map任务和Reduce任务的数量、输入和输出的数据量等。这些计数器在MapReduce作业的执行过程中自动更新,并在日志中打印...

    文本分类之词频统计(分词、词干提取、去停用词、计算词频,有界面)

    可以使用Python的collections.Counter类来实现,将分词、词干提取和去停用词后的词汇列表作为输入,Counter会返回一个字典,键为词汇,值为对应的词频。 **5. 界面工具** 描述中提到的工具“WordFrequencyStat-i”...

    pig udf 函数(urldecode row_number tomap)

    在 Pig Latin 中,你可以定义一个自定义 UDF 来实现这个功能,如下所示: ```java public class URLDecode extends EvalFunc&lt;String&gt; { @Override public String exec(Tuple input) throws IOException { if ...

    MapReduce Tutorial 思考总结

    6. **Secondary Sort**:除了默认的按键排序,还可以自定义次级排序,使得具有相同键的值按照特定顺序进入Reducer。 7. **Reducer接口**:Reducer聚合Mapper的输出,通常用于汇总数据或执行聚合操作。Reduce任务的...

    通过实例让你真正明白mapreduce填空式、分布(分割)编程

    org.apache.hadoop.mapreduce.Counter count = context.getCounter("map中的值value", value.toString()); count.increment(1l); // 统计当前值出现的次数 for (String word : splited) { context.write(new ...

    基于MapReduce的Apriori算法代码及其使用

    - 配置了Hadoop的相关依赖库,如`org.apache.hadoop.mapreduce.Job`、`org.apache.hadoop.io.Text`等。 - 定义了输入输出格式以及文件路径等配置信息。 #### 五、使用场景及扩展 1. **电子商务**:分析用户的...

    java面试必备题,架构师的必经之路

    主要分为堆内存(Heap)、方法区(Method Area)、虚拟机栈(JVM Stack)、本地方法栈(Native Method Stack)和程序计数器(Program Counter Register)。堆内存用于存储对象实例,方法区存放类信息,虚拟机栈保存...

Global site tag (gtag.js) - Google Analytics