Как установить количество задач mapreduce равным 1 в улье - PullRequest
1 голос
/ 27 декабря 2011

Я пытался следовать в улье-

set hive.exec.reducers.max = 1;
set mapred.reduce.tasks = 1;

from flat_json
insert overwrite table aggr_pgm_measure PARTITION(dt='${START_TIME}')
reduce  log_time,
 req_id, ac_id, client_key, rulename, categoryname, bsid, visitorid, visitorgroupid, visitortargetid, targetpopulationid, windowsessionid, eventseq, event_code, eventstarttime
 using '${SCRIPT_LOC}/aggregator.pl' as 
 metric_id, metric_value, aggr_type, rule_name, category_name; 

Несмотря на установку максимального количества и количества сокращенных задач до 1, я вижу, как 2 карты уменьшают генерируемую задачу. Пожалуйста, смотрите ниже-

 > set hive.exec.reducers.max = 1;
hive>  set mapred.reduce.tasks = 1;
hive>
    > from flat_json
    > insert overwrite table aggr_pgm_measure PARTITION(dt='${START_TIME}')
    > reduce  log_time,
    >  req_id, ac_id, client_key, rulename, categoryname, bsid, visitorid, visitorgroupid, visitortargetid, targetpopulationid, windowsessionid, eventseq, event_code, eventstarttime
    >  using '${SCRIPT_LOC}/aggregator.pl' as
    >  metric_id, metric_value, aggr_type, rule_name, category_name;
converting to local s3://dsp-emr-test/anurag/dsp-test/60mins/script/aggregator.pl
Added resource: /mnt/var/lib/hive_07_1/downloaded_resources/aggregator.pl
Total MapReduce jobs = 2
Launching Job 1 out of 2
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201112270825_0009, Tracking URL = http://ip-10-85-66-9.ec2.internal:9100/jobdetails.jsp?jobid=job_201112270825_0009
Kill Command = /home/hadoop/.versions/0.20.205/libexec/../bin/hadoop job  -Dmapred.job.tracker=10.85.66.9:9001 -kill job_201112270825_0009
2011-12-27 10:30:03,542 Stage-1 map = 0%,  reduce = 0%

1 Ответ

1 голос
/ 27 декабря 2011

Две вещи, которые вы считаете взаимосвязанными, не являются. Вы устанавливаете количество сокращений заданий , а не MapReduce заданий . Hive преобразует ваш запрос в несколько заданий MapReduce, так же как и характер того, что нужно сделать. Каждое задание MapReduce состоит из нескольких карт задач и сокращения задач .

Вы устанавливаете максимальное количество задач . Это означает, что каждое задание MapReduce будет ограничено количеством задач, которые оно может запустить. Вы все еще должны выполнить две работы, все же. Вы ничего не можете сделать с количеством заданий MapReduce в Hive. Необходимо выполнить каждый этап для выполнения вашего запроса.

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