hadoop 统计输入的行数的MAP

import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class FilterCidMap2 extends Mapper<LongWritable, Text, Text, LongWritable> {
	private long count=0;
	@Override
	protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, LongWritable>.Context context)
			throws IOException, InterruptedException {

		try {
		           //取得读取的行数
		         count=key.get();

		         //正常逻辑
				context.write(new Text(), new LongWritable(1));

		} catch (Exception e) {

			e.printStackTrace();
		}

	}

	//map 方法调用完后才调用的
	@Override
	protected void cleanup(Mapper<LongWritable, Text, Text, LongWritable>.Context context)
			throws IOException, InterruptedException {
		//map清理资源的操作
		//在reduce中把linescount取出来就行了
		context.write(new Text("linesCount"), new LongWritable(count));
	}

}
时间: 2025-01-04 08:47:23

hadoop 统计输入的行数的MAP的相关文章

统计输入的行数,单词数和字符数

#include<stdio.h> #define IN 1 /*在单词内*/ #define OUT 0 /*在单词外*/ //统计输入的行数,单词数和字符数 int main(){ int c, nl, nw, nc, state; nw=nl=nc=0; state=OUT; while((c=getchar())!=EOF){ nc++; if(c=='\n') nl++; if(c=='\n' || c=='\t' || c==' '){ state=OUT; } else if(s

python 代码统计文件的行数

#!/usr/bin/python #encofing:utf8 # 统计文件的行数 import sys def lineCount(fd): n = 0 for i in fd: n += 1 return n fd = sys.stdin print lineCount(fd)

通过函数实现打印*号组成的直角三角形,函数要求传入行数即可。在main 方法中,通过用户输入得到行数,然后调用函数做打印。

#include <stdio.h> /* 1.通过函数实现打印*号组成的直角三角形,函数要求传入行数即可.在main方法中,通过用户输入得到行数,然后调用函数做打印.三角形样式:********************* */ int sanjiao(int hang){ int i; int j; for(i = 0; i < hang;i++) { for(j = 0;j <i+1;j++) { printf("*"); } printf("\n

C++统计代码注释行数 &amp; 有效代码行数 &amp; 代码注释公共行 &amp; 函数个数

问题来源,在14年的暑假的一次小项目当中遇到了一个这样的问题,要求统计C++代码的注释行数,有效代码行数,代码注释公共行数,以及函数个数. 下面稍微解释一下问题, 1)注释行数:指有注释的行,包括有代码和注释的公共行(如:3,4,15,22...) 2)有效代码行:指有代码的行,包括有代码和注释的公共行(如:1,4,11,15,25....) 3)代码注释公共行:指又有代码又有注释的行(如:4,15...) 4)函数个数:这个不用说明了吧. 以下为注释情况展示代码: 1 #include <st

iOS开发 统计xcode代码行数

如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l 列出每个文件的行数 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or

自制Xcode插件——XcodeCareer:统计亲手输入代码行数和时长

自制了一个简单的Xcode插件.主要功能是统计自安装插件以后,用户手动输入的代码行数,以及累计敲代码的时间.通过快捷键Shift + P查看累计数据. 已分享至我的Github:XcodeCareer 欢迎各位大神一起来完善项目. 统计规则简单的说明如下: 1.创建工程或者创建文件时,系统已经生成的代码不算. 2.直接复制第三方框架进项目(Add New File)时,复制进来的代码不算. 3.任何一次回车键换行会使累计代码量增加一行.退格键删除一行会使累计代码量减少一行. 4.五秒钟不写代码后

Visual Studio使用正则表达式快速统计总共代码行数

按CTRL+SHIFT+F,勾上支持正则表达式,然后输入搜索内容: [csharp] view plaincopyprint? <span style="font-family:Microsoft YaHei;font-size:18px;">^:b*[^:b#/]+.*$</span>   说明:#开头和/开头或者空行都不计入代码量.如果需要只统计代码文件的代码量,可以选择查找文件的类型,比如什么*.xml, *.resx….可以不检查,只查*.cs,*.c,

Visual Studio统计有效代码行数

在网上看到别人用的方法: 按CTRL+SHIFT+F (Find in files),勾上支持正则表达式,然后输入搜索内容: ^:b*[^:b#/]+.*$ 以上表达式的统计可做到:#开头和/开头或者空行都不计入代码量.如果需要只统计代码文件的代码量,可以选择查找文件的类型,比如什么*.xml, *.resx….可以不检查,只查*.cs,*.c,*.h… 搜索出来以后最后一行就是代码行数了. 自己实践了一下,挺好用的.如图所示: 得到结果:

iOS 统计项目代码行数

最近去面试 对面的"他" 问我其中一个问题 是 "你的项目代码量是多少?" 当时的确有点蒙圈, 我可以从整个项目打包的角度考虑项目大小,我还真没想过到底我的项目代码量,于是我大概表达了一下 "我的确没从代码量考虑过项目,请教一下你们如何去统计的 如果统计项目代码量,用来干什么呢 " 然后对方回答的话我比较意外"用看的...就是看..." 大概是几个字略过去了 没有对我的疑问有任何价值性质的回应. 基于钻研精神,我后来还是问了我