ETC

Hive - TEZ

개발 일기92 2024. 7. 23. 20:32

TEZ ? (Hive 2.0이상 버전은 MR보단 TEZ사용)

YARN기반의 데이터 처리를 위한 프레임워크.

방향성 비순환 그래프(DAG)를 사용해서 Dataflow Gragh 정의한다는 점이 특징.
이러한 특징 덕분에 SQL실행 전에 작업량, 리소스에 대해 최적화된 실행 계획을 설계할 수 있다.

실행중에 동적으로 그래프를 변경하며 실행 계획을 최적화하는데 도움을 줄 수 있습니다.

TEZ는 MapReduce동작 방식과 동일하게 Yarn을 통해 container를 할당받는데 이러한 container를 재사용.

재사용함으로써 container 리소스를 재할당 받는 메모리의 오버헤드를 줄일 수 있다.

 

MapReduce와의 차이

MR은 Map단계에서 데이터를 읽고 중간 산출물을 생성하고,

Reduce 단계에서 중간 산출물을 다시 읽어 처리하고 최종 결과를 출력한다.

MR 엔진 위에서는 앞의 절차를 HDFS에 쓰고 읽으며 진행된다.

작업 중간에 발생되는 임시 데이터도 모두 디스크 상에 읽고 쓰는 방식으로 처리하기 때문에 IO 작업이 빈번히 일어나고 이에 따른 오버헤드가 발생된다.

 

VS

 

TEZ는 각 단계에서 나온 중간 산출물(Map단계의 결과물)을 메모리에 저장 후 Reduce단계로 넘겨 처리하기 때문에 IO가 줄고 속도가 빠르다.
HDFS의 read/write 불필요한 단계를 감소시킴으로써 기존 MapReduce의 단점을 해결.

'ETC' 카테고리의 다른 글

Hadoop - Webhdfs  (0) 2025.01.05
압축 알고리즘 등  (0) 2024.12.28
OpenSearch  (0) 2024.12.22
Container, Docker, Kubernetes 상관관계 - 짧  (0) 2024.04.12
Data lake, DW, DM의 기본개념  (0) 2024.04.11