Я пытаюсь запустить работу хауопа несколько раз с разным количеством карт и редуктора. Я установил конфигурацию:Настройка Hadoop число преобразователей с входным разветвлением не работает
- mapreduce.input.fileinputformat.split.maxsize
- mapreduce.input.fileinputformat.split.minsize
- mapreduce.job.maps
Мой размер файла 1160421275, когда я попытался настроить его с помощью 4-х карт и 3-х редукторов в этом коде:
Configuration conf = new Configuration();
FileSystem hdfs = FileSystem.get(conf);
long size = hdfs.getContentSummary(new Path("input/filea").getLength();
size+=hdfs.getContentSummary(new Path("input/fileb").getLength();
conf.set("mapreduce.input.fileinputformat.split.maxsize", String.valueOf((size/4)));
conf.set("mapreduce.input.fileinputformat.split.minsize", String.valueOf((size/4)));
conf.set("mapreduce.job.maps",4);
....
job.setNumReduceTask(3);
Размер/4 дает 290105318. Выполнение задания дает ниже вывод:
2016-11-19 12:30:36,426 INFO [main] input.FileInputFormat (FileInputFormat.java:listStatus(287)) - Total input paths to process : 1
2016-11-19 12:30:36,535 INFO [main] input.FileInputFormat (FileInputFormat.java:listStatus(287)) - Total input paths to process : 4
2016-11-19 12:30:36,572 INFO [main] mapreduce.JobSubmitter (JobSubmitter.java:submitJobInternal(396)) - number of splits:7
Количество разделений равно 7, а не 4, а выход задания успеха является:
File System Counters
FILE: Number of bytes read=18855390277
FILE: Number of bytes written=14653469965
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
Map-Reduce Framework
Map input records=39184416
Map output records=36751473
Map output bytes=787022241
Map output materialized bytes=860525313
Input split bytes=1801
Combine input records=0
Combine output records=0
Reduce input groups=25064998
Reduce shuffle bytes=860525313
Reduce input records=36751473
Reduce output records=1953960
Spilled Records=110254419
Shuffled Maps =21
Failed Shuffles=0
Merged Map outputs=21
GC time elapsed (ms)=1124
CPU time spent (ms)=0
Physical memory (bytes) snapshot=0
Virtual memory (bytes) snapshot=0
Total committed heap usage (bytes)=6126829568
Shuffle Errors
BAD_ID=0
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
File Input Format Counters
Bytes Read=0
File Output Format Counters
Bytes Written=77643084
Карта показывает, что она обрабатывала 21 перетасованные карты. Я хочу, чтобы он обработал только 4 карты. Для редуктора это дает правильное количество файлов с общим количеством 3. Неправильно ли меняются настройки размера разметки Mapper?
AFAIK те конфеты в порядке. Сколько файлов находится на входе? – mrsrinivas
Для файла A есть 1 файл, для файла B - 4 файла. – mkvem
Когда я использую 9, он выходит с 10 расколами – mkvem