Hive 병행 실행 job
병행 집행 은 확실히 임무 의 집행 속 도 를 크게 가속 화 할 수 있 지만, 사용 하 는 자원 을 줄 일 수 는 없다.
Hive 에서 도 병행 실행 옵션 이 있 습 니 다.
set hive.exec.parallel=true; //작업 병렬 실행 열기
set hive.exec.parallel.thread.number=16; //같은 sql 은 최대 병렬 도 를 허용 합 니 다. 기본 값 은 8 입 니 다.
같은 SQL 에서 생 성 되 는 JOB 에 대한 의존 도가 없 는 경우 JOB 를 동시에 시작 합 니 다.
예 를 들 면:
from (
select phone,to_phone, substr(to_phone,-1) as key
from youni_contact4_lxw
where youni_id='1'
and length(to_phone) = 11
and substr(to_phone,1,2) IN ('13','14','15','18')
group by phone,to_phone, substr(to_phone,-1)
) t
insert overwrite table youni_contact41_lxw partition(pt='0')
select phone,to_phone where key='0'
insert overwrite table youni_contact41_lxw partition(pt='1')
select phone,to_phone where key='1'
insert overwrite table youni_contact41_lxw partition(pt='2')
select phone,to_phone where key='2'
insert overwrite table youni_contact41_lxw partition(pt='3')
select phone,to_phone where key='3'
insert overwrite table youni_contact41_lxw partition(pt='4')
select phone,to_phone where key='4'
insert overwrite table youni_contact41_lxw partition(pt='5')
select phone,to_phone where key='5'
insert overwrite table youni_contact41_lxw partition(pt='6')
select phone,to_phone where key='6'
insert overwrite table youni_contact41_lxw partition(pt='7')
select phone,to_phone where key='7'
insert overwrite table youni_contact41_lxw partition(pt='8')
select phone,to_phone where key='8'
insert overwrite table youni_contact41_lxw partition(pt='9')
select phone,to_phone where key='9';
이 SQL 은 11 개의 job 를 생 성 합 니 다. 첫 번 째 job 는 임시 표를 만 드 는 job 입 니 다. 후속 job 는 모두 의존 합 니 다. 이 때 병렬 시작 이 없습니다.
첫 번 째 job 가 끝나 면 후속 job 가 병행 시 작 됩 니 다.
실행 시간 비교:
병렬 사용 안 함: 35 분
8 개의 병렬 사용 하기: 10 분
16 개의 병렬 사용 하기: 6 분
물론 시스템 자원 이 비교적 한가 할 때 만 우세 하 다. 그렇지 않 으 면 자원 이 없 으 면 병행 할 수 없다.
더 많은 빅 데이터 Hadoop, Spark, Hive 의 글, 주목 하 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Hive 복잡 한 데이터 구조 삽입Hive Hive 기본 데이터 구조 지원 제외 Hive 복잡 한 데이터 구조: 데이터 형식 hive 표 구조 디자인: select :...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.