Установка количества задач карты и сокращение задач - PullRequest
35 голосов
/ 30 июля 2011

В настоящее время я выполняю задание. Я установил число задач карты на 20, но получаю большее число. Я также установил задачу уменьшения на ноль, но я все еще получаю число, отличное от нуля. Общее время выполнения задания MapReduce также не отображается. Может кто-нибудь сказать мне, что я делаю не так. Я использую эту команду

hadoop jar Test_Parallel_for.jar Test_Parallel_for Matrix/test4.txt Result 3 \ -D mapred.map.tasks = 20 \ -D mapred.reduce.tasks =0

Выход:

11/07/30 19:48:56 INFO mapred.JobClient: Job complete: job_201107291018_0164
11/07/30 19:48:56 INFO mapred.JobClient: Counters: 18
11/07/30 19:48:56 INFO mapred.JobClient:   Job Counters 
11/07/30 19:48:56 INFO mapred.JobClient:     Launched reduce tasks=13
11/07/30 19:48:56 INFO mapred.JobClient:     Rack-local map tasks=12
11/07/30 19:48:56 INFO mapred.JobClient:     Launched map tasks=24
11/07/30 19:48:56 INFO mapred.JobClient:     Data-local map tasks=12
11/07/30 19:48:56 INFO mapred.JobClient:   FileSystemCounters
11/07/30 19:48:56 INFO mapred.JobClient:     FILE_BYTES_READ=4020792636
11/07/30 19:48:56 INFO mapred.JobClient:     HDFS_BYTES_READ=1556534680
11/07/30 19:48:56 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=6026699058
11/07/30 19:48:56 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=1928893942
11/07/30 19:48:56 INFO mapred.JobClient:   Map-Reduce Framework
11/07/30 19:48:56 INFO mapred.JobClient:     Reduce input groups=40000000
11/07/30 19:48:56 INFO mapred.JobClient:     Combine output records=0
11/07/30 19:48:56 INFO mapred.JobClient:     Map input records=40000000
11/07/30 19:48:56 INFO mapred.JobClient:     Reduce shuffle bytes=1974162269
11/07/30 19:48:56 INFO mapred.JobClient:     Reduce output records=40000000
11/07/30 19:48:56 INFO mapred.JobClient:     Spilled Records=120000000
11/07/30 19:48:56 INFO mapred.JobClient:     Map output bytes=1928893942
11/07/30 19:48:56 INFO mapred.JobClient:     Combine input records=0
11/07/30 19:48:56 INFO mapred.JobClient:     Map output records=40000000
11/07/30 19:48:56 INFO mapred.JobClient:     Reduce input records=40000000
[hcrc1425n30]s0907855: 

Ответы [ 15 ]

0 голосов
/ 05 октября 2014

Я согласен, что задача number mapp зависит от разделения входных данных, но в некоторых сценариях я мог видеть его немного другоеданные приведены ниже)

bin / hadoop jar contrib / streaming / hadoop-streaming-1.2.1.jar -D mapred.reduce.tasks = 0 -input /home/sample.csv -output/home/sample_csv112.txt -mapper /home/amitav/workpython/readcsv.py

Case-2 Итак, я ограничил задачу mapp до 1, выходной файл поставлялся правильно с одним выходным файлом, но один редуктор также запускался вэкран пользовательского интерфейса, хотя я ограничил работу редуктора.Команда приведена ниже.

bin / hadoop jar contrib / streaming / hadoop-streaming-1.2.1.jar -D mapred.map.tasks = 1 mapred.reduce.tasks = 0 -input / home /sample.csv -output /home/sample_csv115.txt -mapper /home/amitav/workpython/readcsv.py

0 голосов
/ 29 марта 2014
  • Используйте -D свойство = значение, а не -D свойство = значение (исключите лишние пробелы).Таким образом -D mapred.reduce.tasks = значение будет работать нормально.

  • Установка количества задач карты не всегда отражает заданное вами значение, поскольку оно зависит от размера разделения и используемого InputFormat.

  • Установка номераof redunds определенно переопределит число сокращений, установленное в конфигурации кластера / на стороне клиента.

0 голосов
/ 12 февраля 2014

Из того, что я понимаю, читая выше, это зависит от входных файлов.Если входных файлов 100 означает - Hadoop создаст 100 задач карты.Тем не менее, это зависит от конфигурации узла на Сколько можно запустить в один момент времени.Если узел настроен на выполнение 10 задач карты - только 10 задач карты будут выполняться параллельно, выбрав 10 различных входных файлов из 100 доступных.Задачи карты продолжат извлекать больше файлов по мере завершения обработки файла.

0 голосов
/ 29 января 2014

Ребята из этой теории, похоже, мы не можем запускать задания сокращения карт параллельно.

Допустим, я настроил всего 5 заданий сопоставления для запуска на конкретном узле. Также я хочу использовать это таким образом, чтобы JOB1можно использовать 3 сопоставителя, а в JOB2 можно использовать 2 сопоставителя, чтобы задание могло выполняться параллельно.Но вышеуказанные свойства игнорируются, тогда как можно выполнять задания параллельно.

0 голосов
/ 13 августа 2013

Один из способов увеличить количество картографов - ввести данные в виде файлов разделения [вы можете использовать команду разделения Linux].Потоковая передача Hadoop обычно назначает столько картографов, сколько имеется входных файлов (если файлов много), если нет, он попытается разделить входные данные на части одинакового размера.

...