首页 > 其他 > 详细

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

时间:2016-03-06 10:02:30      阅读:89      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!