2011-12-27 3 views
1
하이브

1과 동일한 맵리 듀스 작업의 수를 설정하는 방법 나는이지도 작업을 생성하기 줄일 참조 Inspite 1에 최대 수의 감소 작업의 수를 설정하는

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; 

hive-

에 다음을 시도했다. 아래를 참조하십시오 -

> 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

당신이 생각하기에 두 가지 생각은 다릅니다. 작업량이 이 아닌 MapReduce 작업 수를 설정하고 있습니다 (). Hive는 수행해야 할 작업의 성격과 마찬가지로 쿼리를 여러 MapReduce 작업으로 변환합니다. 각 MapReduce 작업은 복수 개의 작업으로 구성되어 있으며 개의 작업을 줄입니다.

최대 숫자는 입니다.입니다. 즉, 각 MapReduce 작업은 실행될 수있는 작업 수에 의해 제약을받습니다. 그래도 두 가지 작업을 실행해야합니다. Hive를 사용하여 MapReduce 작업의 수에 대해 할 수있는 일은 없습니다. 쿼리를 실행하려면 각 단계를 실행해야합니다.