Mapreduce - пустой вывод при фильтрации разных значений - PullRequest
0 голосов
/ 05 декабря 2018

Я ищу помощь с приложением 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 не существовала, когда я запустил приложение.

Потенциально вам понадобится дополнительная информация, но я был бы признателен за любые предложения о том, как добраться до сути проблемы..

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...