本篇内容介绍了“MapReduce的类型与格式介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联建站是一家专注网站建设、网络营销策划、小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十余年以来,已经为上1000+茶楼设计各业的企业公司提供互联网服务。现在,服务的上1000+客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
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的类型与格式介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!