복붙노트

[HADOOP] 하이브가지도 작업을 동시에 수행하도록 만드는 방법은 무엇입니까?

HADOOP

하이브가지도 작업을 동시에 수행하도록 만드는 방법은 무엇입니까?

나는 하이브를 처음 사용하고 있는데 문제가 생겼습니다.

나는 다음과 같이 하이브에 테이블을 가지고있다.

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' ;  

그리고 같은 SQL을 실행합니다 :

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

그것은 작동하고 출력 결과는 내가 원하는 것입니다.

하지만 한 가지 문제가 있습니다. 하이브가 9 개의지도 작업을 생성하고 이러한 작업을 하나씩 실행합니다.

이 쿼리에 대한 설명을 실행하면 다음 메시지가 나타납니다.

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

9-17 단계가지도 작업 0-8에 해당하는 것으로 보입니다. 위의 설명 메시지에서 스테이지 10-17은 스테이지 9에만 의존하지만, 그래서 질문이 있는데, 왜 직업 1-8을 동시에 실행할 수 없습니까?

또는 작업 1-8을 동시에 실행할 수 있습니까?

당신의 도움을 주셔서 대단히 감사합니다!

해결법

  1. ==============================

    1.hive-default.xml에는 "hive.exec.parallel"이라는 속성이있어 실행 작업을 병렬로 실행할 수 있습니다. 기본값은 "false"입니다. 이 능력을 습득하려면 "참"으로 변경할 수 있습니다. "hive.exec.parallel.thread.number"라는 또 다른 속성을 사용하여 최대로 병렬로 실행할 수있는 작업 수를 제어 할 수 있습니다.

    hive-default.xml에는 "hive.exec.parallel"이라는 속성이있어 실행 작업을 병렬로 실행할 수 있습니다. 기본값은 "false"입니다. 이 능력을 습득하려면 "참"으로 변경할 수 있습니다. "hive.exec.parallel.thread.number"라는 또 다른 속성을 사용하여 최대로 병렬로 실행할 수있는 작업 수를 제어 할 수 있습니다.

    자세한 내용은 https://issues.apache.org/jira/browse/HIVE-549를 참조하십시오.

  2. from https://stackoverflow.com/questions/8868186/how-to-make-hive-run-mapreduce-jobs-concurrently by cc-by-sa and MIT license