2017-05-17 3 views
-3

거의 같은 수의 레코드가있는 하이브에 두 개의 테이블을 조인하려고합니다. 쿼리를 실행하는 데 오랜 시간이 걸립니다. 하이브에서 JOINS를 실행하는 데 시간이 오래 걸리는 이유는 무엇입니까? 두 테이블 모두 레코드 수는 약 50k입니다.HIVE 조인의 실행 시간이 오래 걸리는 이유는 무엇입니까?

+0

왜이 질문이 다운 되었습니까? 질문을 개선하는 방법에 대한 유용한 의견을 추가하십시오. 내 5 센트 : 자세한 내용을 추가하십시오 : 쿼리, 얼마나 오래 실행중인, 쿼리 계획 – leftjoin

답변

-1

하이브 쿼리가 내부적으로 맵 축소로 변환되어 실행되기 때문에 실행에 몇 분이 걸릴 수 있습니다. 성능을 향상시킬 수있는 다양한 방법이 있습니다. 쿼리 결과를 향상 시키려면 link을 따르십시오.

하이브 또는 하둡을 사용하는 주된 이유는 방대한 양의 데이터를 처리하기 때문입니다. 따라서 거대한 데이터를 처리 할 때 다른 관계형 데이터베이스와 비교할 때 엄청난 성능 향상 효과를 볼 수 있습니다. 그러나 당신이 말한 데이터의 양은 아마도 하이브의 좋은 유스 케이스가 아닙니다.

+0

map reduce는 적은 수의 레코드를 의미하지 않지만 조인은 거대한 데이터 집합의 하위 집합입니다. 이 데이터는 거대한 데이터 세트의 필터링 된 데이터입니다. 하지만 하나의 세트를 얻으려면 두 개의 테이블을 조인해야합니다. – v83rahul

+0

하이브에서 데이터에 가입하는 것이 좋습니다. 의견에서 언급 한 내용에서 레코드를 필터링하는 기준을 필터링하는 것으로 추측됩니다. 따라서 테이블을 생성하는 동안 가입 할 열을 기반으로 파티션 및 버킷을 사용하면 성능을 더욱 향상시킬 수 있습니다. –

관련 문제