odps mapreduce学习笔记
来源:互联网 发布:linux查cpu核数 编辑:程序博客网 时间:2024/05/01 10:31
一、map函数
//record表示输入表的每一行记录 public void map(long recordNum, Record record, TaskContext context) throws IOException { for (int i = 0; i < record.getColumnCount(); i++) {//遍历每一列 String[] words = record.get(i).toString().split("\\s+"); for (String w : words) { word.set(new Object[] {w}); context.write(word, one); } } }参数:
1、recordNum表示: 当前输入是第几行记录?
2、record表示:表格的每一行记录。在map函数中,record代表读入的一行数据,可以通通过record.get(n)方法获取该行记录第n列的数据。并且方便的是,这里可以直接对读入的数据进行一个类型转换。例如record.getString()会把读入的数据转为字串,record.getBigInt()则会把读入的数据转为Long型整数。
3、context:每调用一次write函数,就会输出一行记录。context.write(key,value)的意思是输出这条key-value,如果不写这行,Mapper就什么都不输出。一个Mapper可以有0个或多个key-value的输出,每调用一次context.write(key,value)就会输出一行。
二、reduce函数
//输入map阶段每个key,以及每个key对应的多个valuespublic void reduce(Record key, Iterator<Record> values, TaskContext context) throws IOException { long count = 0; while (values.hasNext()) { Record val = values.next(); count += (Long) val.get(0); } result.set(0, key.get(0));//设置第一列为key result.set(1, count);//设置第二列为count context.write(result);//添加本条记录}
参数:
1、key:对应到map阶段输出每个key;
2、values参数:是一个Iterator,通过调用values.next()来读取所有属于该key的记录。每读取一行记录,可进行相应操作;
3、输出context:Reducer的output是一个Record类,可以通过output.set(n)来设定该output第n列的数值,同样使用context.write(output)输出一行记录。
参考资料:
https://www.zybuluo.com/chanvee/note/11984阅读全文
0 0
- odps mapreduce学习笔记
- ODPS MapReduce
- 【ODPS】MapReduce基础
- ODPS MapReduce入门
- ODPS MapReduce入门 - 推荐商品
- 大矩阵乘法 ODPS MapReduce
- MaxCompute(原ODPS) MapReduce常见问题解答
- Google MapReduce 学习笔记
- mapreduce WordCount 学习笔记
- 论文学习笔记:MapReduce
- MapReduce学习笔记
- Hadoop学习笔记---MapReduce
- Hadoop学习笔记---MapReduce
- Hadoop学习笔记---MapReduce
- MongoDB MapReduce学习笔记
- MapReduce学习笔记
- MongoDB学习笔记---MapReduce
- MongoDB MapReduce学习笔记
- Spring中Bean及@Bean的理解
- (crm笔记2-1)struts2层与前端页面的连接
- jsp+Javabean+servlet实现修改
- 最短路,最小生成树,及拓扑排序模板整理
- Search for a Range一打简单的二分题
- odps mapreduce学习笔记
- 快速解读GC日志
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- 菜谱
- 开关电源设计中电感的选择
- java volatile
- Trapping rain water
- 匈牙利算法模板
- Kattis