从数据集输出艺术家

<strong><span style="font-size:18px;">/***
 * @author YangXin
 * @info 从数据集输出艺术家
 * 为了生成Last.fm数据集的特征向量,我们部署两个MapReduce作业。
 * 第一个作业以词典的形式生成独立的艺术家列表,第二个作业利用生成的词典来产生向量。
 */
package unitTwelve;

import java.io.IOException;
import java.util.regex.Pattern;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class DictionaryMapper extends Mapper<LongWritable, Text, Text, IntWritable>{
	private Pattern splitter;
	protected void map(LongWritable key, Text line, Context context) throws IOException, InterruptedException{
		String[] fields = splitter.split(line.toString());
		if(fields.length < 4){
			context.getCounter("Map", "LinesWithErrors").increment(1);
			return;
		}
		String artist = fields[1];
		context.write(new Text(artist), new IntWritable(0));
	}
	
	protected void setup(Context context) throws IOException, InterruptedException{
		super.setup(context);
		splitter = Pattern.compile("<sep>");
	}
}
</span></strong>

你可能感兴趣的:(从数据集输出艺术家)