Я ищу помощь с приложением Java, которое должно выводить различные значения для определенного столбца выбора входного файла, пожалуйста.В моем случае я выбрал первый столбец, который соответствует году, тривиальное упражнение, но просто для знакомства с MapReduce в Java.
Класс Mapper:
открытый класс Map extends Mapper {
@Override
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException{
String line = value.toString();
String[] data = line.split(",");
context.write(new Text(data[1]), NullWritable.get());
}
}
Класс Reduce
открытый класс Reduce extends Reducer{
@Override
public void reduce(final Text key,
final Iterable<NullWritable> values,
final Context context)
throws IOException, InterruptedException{
context.write(key, NullWritable.get());
}
}
Основной класс
открытый класс Main extends Настроенные инструменты Инструмент {
@Override
public int run(String[] args) throws Exception {
Job job = Job.getInstance(getConf());
job.setJobName("filterdistinctvalues");
job.setJarByClass(Main.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(NullWritable.class);
job.setMapperClass(Map.class);
job.setReducerClass(Reduce.class);
Path inputFilePath = new Path("/Users/francesco/Downloads/MapReduceSaturday1st/data/input/input.txt");
Path outputFilePath = new Path("/Users/francesco/Downloads/MapReduceSaturday1st/data/output/filterdistinctvalues3");
FileInputFormat.addInputPath(job, inputFilePath);
FileOutputFormat.setOutputPath(job, outputFilePath);
return job.waitForCompletion(true) ? 0 : 1;
}
public static void main(String[] args) throws Exception{
int exitCode = ToolRunner.run(new Main(), args);
System.exit(exitCode);
}
}
Комупомочь вам с анализом Я скопировал первые десять строк входного файла, простой текстовый файл.
1,2010,1,1,0, NA, -21, -11,1021, NW,1,79,0,0 2,2010,1,1,1, NA, -21, -12,1020, СЗ, 4,92,0,0 3,2010,1,1,2, NA, -21, -11,1019, NW, 6,71,0,0 4,2010,1,1,3, NA, -21, -14,1019, NW, 9,84,0,0 5,2010,1,1,4, NA, -20, -12,1018, NW, 12,97,0,0 6,2010,1,1,5, NA, -19, -10,1017, NW, 16,1,0,0 7,2010,1,1,6,NA, -19, -9,1017, NW, 19,23,0,0 8,2010,1,1,7, NA, -19, -9,1017, NW, 21,02,0 9,2010,1,1,8, NA, -19, -9,1017, NW, 24,15,0,0 10,2010,1,1,9, NA, -20, -8,1017, NW, 27,28,0,0
В текстовом файле нет заголовков.
Я могу хорошо построить решение, и все хорошо скомпилируется (я пропустил операторы импорта вздесь, но они прекрасно), но выходной файл полностью пустым.Папка вывода «filterdistinctvalues3» в классе Main Java не существовала, когда я запустил приложение.
Потенциально вам понадобится дополнительная информация, но я был бы признателен за любые предложения о том, как добраться до сути проблемы..
Заранее спасибо