Hadoop:输入,输出,key,value格式

map: (K1, V1) → list(K2, V2)
reduce: (K2, list(V2)) → list(K3, V3)

(K1, V1):
jobConf.setInputKeyClass(K1. class );
jobConf.setInputValueClass(V1. class );

list(K2, V2):
job.setMapOutputKeyClass(K2.class);
job.setMapOutputValueClass(V2.class); 

list(K3, V3):
jobConf.setOutputKeyClass(K3. class );
jobConf.setOutputValueClass(V3. class )
<strong>jobConf.setInputFormat(MyInputFormat. class );
InputFormat:</strong>
TextInputFormat:用于读取纯文本文件,文件被分为一系列以LF或CR结束的行,key是每一行的偏移量(LongWritable),value是每一行的内容(Text)。
KeyValueTextInputFormat:用于读取文件,如果行被分隔符分割为两部分,第一部分为key,剩下的为value;若没有分隔符,整行作为key,value为空。
SequenceFileInputFormat:用于读取SequenceFile,读取格式要与写出SequenceFileOutputFormat时设置的setOutputKeyClass与setOutputValueClass一致(key+value的格式)。
SequenceFileInputFilter:根据filter从SequenceFile中取得满足条件的数据,通过setFilterClass指定Filter,内置了三种Filter,RegexFilter取key值满足指定的正则表达式的记录;PercentFilter通过指定参数f,取记录行数f%==0的记录;MD5Filter通过指定参数f,取MD5(key)%f==0的记录。
例子:conf.setInputFormat(KeyValueTextInputFormat.class);
 
 
<strong>jobConf.setOutputFormat(MyOutputFormat. class );
setOutputFormat:</strong>
TextOutputFormat:输出到纯文本文件,格式为key + “    ”+ value。
NullOutputFormat:hadoop中的/dev/null,将输出送进黑洞。
SequenceFileOutputFormat,输出SequenceFile文件,其具体格式与setOutputKeyClass,setOutputValueClass相关 ,如此SequenceFileInputFormat的读取格式应该与SequenceFileOutputFormat的输出格式一致(key+value的格式)
MultipleSequenceFileOutputFormat, MultipleTextOutputFormat:根据key将记录输出到不同的文件,可以被重写
DBInputFormat和DBOutputFormat,从DB读取,输出到DB。
例子:conf.setOutputFormat(TextOutputFormat.class);
时间: 2024-10-07 19:43:44

Hadoop:输入,输出,key,value格式的相关文章

hadoop分类输出

import org.apache.hadoop.io.Text; import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.FileSystem;impor

2.4 基本的输入/输出操作

在C++输入/输出围绕着数据流这个概念,在数据流中,可以把数据插入输出流,或者从输入流析取数据.到屏幕上命令行的标准输出流称为cout,来自键盘的互补输入流称为cin.这两个流的名称都定义在std名称空间. 2.4.1 从键盘中输入 可以通过标准输入流cin从键盘获得输入,这时要使用流的析取运算符>>.要从键盘把两个整数值读入整型变量num1和num2,eg:std::cin >>num1 >>num2; 析取运算符>>“指向”数据流动的方向,本例中,数据是

Android Multimedia框架总结(二十)MediaCodec状态周期及Codec与输入/输出Buffer过程(附实例)

转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53183718 前言:前面几节都是介绍Camera2相关,对于Camera2预览把图像显示在SurfaceView上,还有录像时,时时刷新当前图像区域.追溯到最早介绍的MediaPlayer播放视频,这些都离不开重要角色MediaCodec,今天介绍MediaCodec,看下Agenda: MediaCodec是什么? codec操

0X04 字符串和格式化输入/输出

字符串(character string)就是一个或多个字符的序列.如:"hello world",双引号不是字符串的一部分,而是通知编译器,这是一个字符串. C没有为字符串定义专门的变量类型,而是把它存储在一个char数组中.该数组的单元数必须要比字符数多1,因为字符串在数组的最后一个位置会有\0. 在printf中用%s表示打印一个字符串. strlen()函数,以字符为单位给出字符串的长度.需要使用string.h头文件,该头文件中包含许多与字符串相关的函数原型. sizeof:

计算机系统结构 输入/输出系统

一.I/O系统的可靠性.可用性和可信性 系统的可靠性是指系统从某个初始参考点开始一直连续提供服务的能力,通常用平均无故障时间(MTTF)来衡量, MTTF的倒数就是系统的失效率. 如果系统中每个模块的生存期服从指数分布,则系统整体的失效率是各部件的失效率之和. 系统中断服务的时间用平均修复时间(MTTR)来衡量. 系统的可用性是指系统正常工作的时间在连续两次正常服务间隔时间中所占的比例. 其中MTTF+MTTR通常用平均失效间隔时间(MTBF)来替换. 系统的可信性是指服务的质量. 二.RAID

10.0输入/输出

在变量.数组和对象中存储数据是暂时的,程序结束后它们就会丢失.为了能够永久地保存程序创建的数据,需要将其保存在磁盘文件中,这样以后就可以在其他程序中使用它们.Java的I/O技术可以将数据保存到文本文件.二进制文件甚至是ZIP压缩文件中,以达到永久性保存数据的要求.掌握I/O处理技术能够提高对数据的处理能力. 流概述 (概念)流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种.I/O(Input/Output)流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地.虽然I

python基础(文件输入/输出 内建类型 字典操作使用方法)

本文主要介绍了python基础入门,包括文件输入/输出.内建类型.字典操作等使用方法 一.变量和表达式 代码如下: >>> 1 + 1 2>>> print 'hello world' hello world>>> x = 1               >>> y = 2>>> x + y3 Python是强类型语言,无法根据上下文自动解析转换成合适的类型. Python是一种动态语言,在程序运行过程中,同一个变量

C++ Primer 学习笔记_59_重载操作符与转换 --输入/输出、算术/关系操作符

重载操作符与转换 --输入/输出.算术/关系操作符 支持I/O操作的类所提供的I/O操作接口,一般应该与标准库iostream为内置类型定义的接口相同,因此,许多类都需要重载输入和输出操作符. 一.输出操作符<<的重载 为了与IO标准库一致,操作符应接受ostream&作为第一个形参,对类类型const对象的引用作为第二个形参,并返回ostream形参的引用! ostream &operator<<(ostream &os,const ClassType &

Python输入/输出语句

Python输出语句print函数 print()函数基本使用 打印整形数据 打印浮点型数据 打印字符型数据 >>> print(12)12>>> print(12.5)12.5>>> print('B')B>>> print('WWW.baidu.com')WWW.baidu.com>>> x=12>>> print(12)12>>> y=12.88>>> pr

关于shell输入 输出重定向

一 下面是关于输入输出重定向的语法格式 二 概述输出输入重定向大于号> :表示输出重定向 (会覆盖原文件)小于号<:输入重定向 (如果你输入的是啥,那么就会显示输出的是啥,不会覆盖和追加到原文件里面)双大于号>>:(表示输出重定向,会在原文件的内容上追加内容) 三输出输入重定向的实际例子1.输出重定向说明:我们可以看出使用cat查看原文件的内容是"正在读安徒生",使用输出重定向后,查看原文件的内容变成"故事的小火柴".这足以说明使用输出重定向