Hadoop MR编程中main()函数参数注入
来源:互联网 发布:屋顶花园香水 知乎 编辑:程序博客网 时间:2024/06/06 09:07
下面介绍MapReduce的主要的六个类,只有了解了这六个类的作用,才能在编写程序中知道哪个类是要自己实现,哪些类可以调用默认的类,才能真正的做到游刃有余,关于需要自己编写的类(用户制定类)可以参考:http://www.cnblogs.com/liqizhou/archive/2012/05/14/2499498.html
- InputFormat类。该类的作用是将输入的文件和数据分割成许多小的split文件,并将split的每个行通过LineRecorderReader解析成<Key,Value>,通过job.setInputFromatClass()函数来设置,默认的情况为类TextInputFormat,其中Key默认为字符偏移量,value是该行的值。
- Map类。根据输入的<Key,Value>对生成中间结果,默认的情况下使用Mapper类,该类将输入的<Key,Value>对原封不动的作为中间按结果输出,通过job.setMapperClass()实现。实现Map函数。
- Combine类。实现combine函数,该类的主要功能是合并相同的key键,通过job.setCombinerClass()方法设置,默认为null,不合并中间结果。实现map函数
- Partitioner类。 该该主要在Shuffle过程中按照Key值将中间结果分成R份,其中每份都有一个Reduce去负责,可以通过job.setPartitionerClass()方法进行设置,默认的使用hashPartitioner类。实现getPartition函数
- Reducer类。 将中间结果合并,得到中间结果。通过job.setReduceCalss()方法进行设置,默认使用Reducer类,实现reduce方法。
- OutPutFormat类,该类负责输出结果的格式。可以通过job.setOutputFormatClass()方法进行设置。默认使用TextOUtputFormat类,得到<Key,value>对。
note:hadoop主要是上面的六个类进行mapreduce操作,使用默认的类,处理的数据和文本的能力很有限,具体的项目中,用户通过改写这六个类(重载六个类),完成项目的需求。说实话,我刚开始学的时候,我怀疑过Mapreudce处理数据功能,随着学习深入,真的很钦佩mapreduce的设计,基本就二个函数,通过重载,可以完成所有你想完成的工作。
public static void main(String[] args)throws IOException { Configuration conf = new Configuration(); Job job = new Job(conf); job.setInputFormatClass(TextInputFormat.class); job.setMapperClass(Mapper.class); job.setCombinerClass(null); job.setPartitionerClass(HashPartitioner.class); job.setReducerClass(Reducer.class); job.setOutputFormatClass(TextOutFormat.class); }}
0 0
- Hadoop MR编程中main()函数参数注入
- Linux C编程--main函数参数解析
- Linux C编程--main函数参数解析 .
- Linux C编程 main函数参数解析
- Linux C编程--main函数参数解析
- linux中main()函数中参数来源
- Java中main函数的参数
- C语言中main函数的参数
- Main函数中参数argc,argv说明
- Main函数中参数argc,argv说明
- java中main函数的参数问题
- C/C++中main函数参数说明
- java中main函数的参数
- main函数中参数的意思
- c中main函数的参数解释
- C语言中main函数的参数
- C 中 main 函数的参数
- main函数中两个参数的用法
- Hbase编程问题解析
- 【代码优化】构造器参数繁多时候,考虑使用builder模式
- quartz动态添加和删除定时任务
- 使用Redis来实现LBS的应用
- Construct Special Binary Tree from given Inorder traversal
- Hadoop MR编程中main()函数参数注入
- VC++玩转Native Wifi API 2---Wifi on与wifi off
- 谷歌的搜索结果中将不再呈现作者信息
- 界面构造
- 恢复Oracle删除的数据
- 协议森林:先生,要点单吗?---HTTP协议概览
- 监控硬盘和普通硬盘有多大差别?
- com.sun.net.httpserver内存泄露的问题
- 隐马尔科夫