本篇内容介绍了“MapReduce的类型与格式介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
reduce函数的输入类型必须与map函数的输出类型匹配,但reduce函数的输出类型可以不同于输入类型
输入分片与记录
一个输入分片就是一个由单个map操作来处理的输入块 InputSplit接口
文本输入
TextInputFormat
控制一行最大的长度
KeyValueTextInputFormat
NLineInputFormat
XML
二进制输入
SequenceFileInputFormat
SequenceFileAsTextInputFormat
SequenceFileAsBinaryInputFormat
FixedLengthInputFormat
多个输入
MultipleInputs
数据库输入和输出
DBInputFormat 这种输入格式用于使用JDBC从关系型数据库中读取数据。因为它没有任何共享能力,所以在访问数据库的时候必须非常小心,在数据库中运行太多的mapper读数据可能会使数据库受不了。
另一种方法是Sqoop
OutputFormat
文本输出
TextOutputFormat
键-值对由制表符进行分隔,设定mapreduce.output.textoutputformat.separator属性改变默认的分隔符
对应的输入格式是KeyValueTextInputFormat
二进制输出
SequenceFileOutputFormat
SequenceFileAsBinaryOutputFormat
MapFileOutputFormat
多个输出
MultipleOutputFormat
MultipleOutput 类可以将数据写到多个文件
延迟输出
LazyOutputFormat
FileOutputFormat 的子类会产生输出文件(part-r-nnnnn),即使文件是空的。有些应用倾向于不创建空文件
数据库输出
“MapReduce的类型与格式介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。