• 热门专题

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

作者:  发布日期:2016-03-07 20:38:18
Tag标签:向量  标签  部分  
  • /***
     * @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);
    	}
    	
    }
    
    

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规