首页 > 代码库 > 从数据集输出艺术家
从数据集输出艺术家
<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>
从数据集输出艺术家