您的位置:首页

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

2017-07-08 13:10 183 查看
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: