• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

임팔라가 빠른 이유

22.04.12 21:03 작성 조회수 479

0

안녕하세요. 

 

보통 스파크나 인 메모리 기반 시스템은 메모리 엔진에 저장하는 과정이 필요한데, 임팔라는 데이터를 별도의 적재 과정이 없는 것 같습니다. 그럼 이미 hive를 통해 처리된 데이터가 메모리에 동시에 적재된 건가요 ? 

답변 1

답변을 작성해보세요.

0

안녕하세요! 고준호님!

아래 답변 드립니다.

Q. Impala가 Hive보다 빠른 이유는???

A. Hive 쿼리는 MapReduce로 전환 되서, 여러 데이터노드에 분산 되어 있는 HDFS 파일을 읽어 쿼리 조건에 맞는 작업을 수행 하게 됩니다. 이때 분산 되어 있는 파일들을 각각의 데이터 노드에서 합치고/쪼개고/추출하는 등의 작업이 여러 노드들에서 반복 진행 되는데요.. 이때 핵심은 각각 노드들이 처리(이때는 메모리)한 결과를  디스크에 저장하고, 이를 다시 특정 노드로 보내서 합치는 작업들이 파일의 크기에 따라 여러차례 반복 됩니다. 앞의 디스크에 저장된 파일을 맵리듀스의 중간파일이라고 부르는데요, Impala는 이 중간파일을 메모리에 생성 한다는 큰 차이가 있고, 오버헤드가 큰 Disk IO를 피할수 있어서 Hive보다 빠른 응답속도를 만들어  냅니다.

 

Q. 이미 hive를 통해 처리된 데이터가 메모리에 동시에 적재된 건가요 ? 

A. Impala는 하이브와 의존성 없이 작동합니다.

- 빅디 드림