Soy nuevo en la colmena y he encontrado un problema,¿Cómo hacer que colmena ejecute mapreduce trabajos al mismo tiempo?
Tengo una tabla en la colmena de la siguiente manera:
create table td(id int, time string, ip string, v1 bigint, v2 int, v3 int,
v4 int, v5 bigint, v6 int) PARTITIONED BY(dt STRING)
ROW FORMAT DELIMITED FIELDS
TERMINATED BY ',' lines TERMINATED BY '\n' ;
y corro un sql como:
from td
INSERT OVERWRITE DIRECTORY '/tmp/total.out' select count(v1)
INSERT OVERWRITE DIRECTORY '/tmp/totaldistinct.out' select count(distinct v1)
INSERT OVERWRITE DIRECTORY '/tmp/distinctuin.out' select distinct v1
INSERT OVERWRITE DIRECTORY '/tmp/v4.out' select v4 , count(v1), count(distinct v1) group by v4
INSERT OVERWRITE DIRECTORY '/tmp/v3v4.out' select v3, v4 , count(v1), count(distinct v1) group by v3, v4
INSERT OVERWRITE DIRECTORY '/tmp/v426.out' select count(v1), count(distinct v1) where v4=2 or v4=6
INSERT OVERWRITE DIRECTORY '/tmp/v3v426.out' select v3, count(v1), count(distinct v1) where v4=2 or v4=6 group by v3
INSERT OVERWRITE DIRECTORY '/tmp/v415.out' select count(v1), count(distinct v1) where v4=1 or v4=5
INSERT OVERWRITE DIRECTORY '/tmp/v3v415.out' select v3, count(v1), count(distinct v1) where v4=1 or v4=5 group by v3
se funciona, y el resultado de salida es lo que quiero.
pero hay un problema, hive genera 9 trabajos de reducción de mapas y ejecuta estos trabajos uno por uno.
corro explicar en esta consulta, y me dieron el siguiente mensaje:
STAGE DEPENDENCIES:
Stage-9 is a root stage
Stage-0 depends on stages: Stage-9
Stage-10 depends on stages: Stage-9
Stage-1 depends on stages: Stage-10
Stage-11 depends on stages: Stage-9
Stage-2 depends on stages: Stage-11
Stage-12 depends on stages: Stage-9
Stage-3 depends on stages: Stage-12
Stage-13 depends on stages: Stage-9
Stage-4 depends on stages: Stage-13
Stage-14 depends on stages: Stage-9
Stage-5 depends on stages: Stage-14
Stage-15 depends on stages: Stage-9
Stage-6 depends on stages: Stage-15
Stage-16 depends on stages: Stage-9
Stage-7 depends on stages: Stage-16
Stage-17 depends on stages: Stage-9
Stage-8 depends on stages: Stage-17
parece que la etapa 9-17 se corresponde con MapReduce trabajo 0-8
pero desde el mensaje de explicar anteriormente, la etapa 10-17 solo depende de la etapa 9,
, entonces tengo una pregunta, ¿por qué el trabajo 1-8 no se puede ejecutar al mismo tiempo?
¿O cómo puedo hacer que el trabajo 1-8 se ejecute al mismo tiempo?
¡Muchas gracias por su ayuda!
esto funciona! ¡muchas gracias! – SSolid
@kai zhang Entiendo que cuando "hive.exec.parallel" se establece en verdadero, las tareas independientes se ejecutarán en paralelo. ¿Puedes pensar en algún caso de uso donde se desee configurarlo en falso? –
@MayankJaiswal De acuerdo a mi conocimiento, "hive.exec.parallel" se sugiere como "falso" en una versión muy temprana (por ejemplo, 0.7). Creo que la única razón es que la función no es bastante estable en ese momento. –