Это функция Mapreduce. Я делаю конкатенацию разделителей "######" и имени моего файла с WOrd в классе WORDCOunt. Когда я запускаю код, я не получаю никаких изменений. Я просто получаю слова и их количество. Я хочу конечный результат в этом формате (Word ###### Filename). Пожалуйста, скажите мне, где я делаю неправильно.
public static class Map extends Mapper<LongWritable , Text , Text , Text >
{
private final static IntWritable one = new IntWritable( 1);
private Text word = new Text();
private static final Pattern WORD_BOUNDARY = Pattern .compile("\\s*\\b\\s*");
public void map( LongWritable offset, Text lineText, Context context) throws IOException, InterruptedException
{
String line = lineText.toString();
Text currentWord = new Text();
//These lines will split the files.
InputSplit input_split = context.getInputSplit();
String FName = ((FileSplit) input_split).getPath().getName();
for ( String word : WORD_BOUNDARY .split(line))
{
if (word.isEmpty())
{
continue;
}
//These lines will add delimiters with the words & filename.
currentWord = new Text(word + "####" + FName);
context.write(new Text(currentWord.toString()), new Text (FName));
}
}
}