从数据集输出艺术家

<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>


posted @ 2017-07-09 17:22  llguanli  阅读(127)  评论(0编辑  收藏  举报