MapReduce中有多种输出格式,用户可以灵活的定义文件输出的路径、文件名、输出格式等,本文列举常用的七种处理方式,解析去应用场景和使用方法,如有错误,欢迎指正。
1)FileOutputFormat<K,V> 常用的父类;
2)TextOutputFormat<K,V> 默认输出字符串输出格式;
3)SequenceFileOutputFormat<K,V> 序列化文件输出;
4)MultipleOutputs<K,V> 可以把输出数据输送到不同的目录;
5) NullOutputFormat<K,V> 把输出输出到/dev/null中,即不输出任何数据,这个应用场景是在MR中进行了逻辑处理,同时输出文件已经在MR中进行了输出,而不需要在输出的情况;
6)LazyOutputFormat<K,V> 只有在调用write方法是才会产生文件,这样的话,如果没有调用write就不会产生空文件;
7)DBOutputFormat 适用于将作业输出数据(中等规模的数据)转存到Mysql、Oracle等数据库;使用DBOutputFormat以MapReduce的方式运行,会并行的连接数据库。在这里需要合适的设置map、reduce的个数,以便将并行连接的数量控制在合理的范围之内。