码迷,mamicode.com
首页 > 其他好文 > 详细

组合部分标签向量并累加成完整向量

时间:2016-03-06 10:04:00      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

<strong><span style="font-size:18px;">/***
 * @author YangXin
 * @info K-Means算法会对向量元素进行多次顺序的遍历,上次表示最适合于这种访问模式。
 * 利用Mapper输出的部分向量,Reducer通过简单的拼接得到一个完整的向量。
 */
package unitTwelve;

import java.io.IOException;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.mahout.math.NamedVector;
import org.apache.mahout.math.Vector;
import org.apache.mahout.math.VectorWritable;

public class VectorReducer extends Reducer<Text, VectorWritable, Text, VectorWritable>{
	private VectorWritable writer = new VectorWritable();
	protected void reduce(Text tag, Iterable<VectorWritable> values, Context context) throws IOException, InterruptedException{
		Vector vector = null;
		for(VectorWritable partialVector : values){
			if(vector == null){
				vector = partialVector.get().like();
			}
			partialVector.get().addTo(vector);
		}
		NamedVector namedVector = new NamedVector(vector, tag.toString());
		writer.set(namedVector);
		context.write(tag, writer);
	}
	
}
</span></strong>

组合部分标签向量并累加成完整向量

标签:

原文地址:http://blog.csdn.net/u012965373/article/details/50811635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!