[HADOOP] 임팔라는 하이브에 비해 쿼리 응답이 더 빠릅니다.
HADOOP임팔라는 하이브에 비해 쿼리 응답이 더 빠릅니다.
필자는 최근 Hive와 Impala를 사용하여 HDFS에있는 많은 수의 CSV 데이터를 쿼리하기 시작했습니다. 내가 기대했던대로 Impala의 응답 시간은 Hive에 비해 지금까지 사용한 쿼리에 비해 더 좋아졌습니다.
하이브가 필요하고 임팔라가 적합하지 않은 쿼리 / 유스 케이스가 있는지 궁금합니다.
임팔라는 Hive에 비해 HDFS에서 동일한 데이터에 대해 더 빠른 쿼리 응답을 어떻게 제공합니까?
해결법
-
==============================
1.Impala는 "SQL on HDFS"로, 하이브는 "SQL on Hadoop"입니다.
Impala는 "SQL on HDFS"로, 하이브는 "SQL on Hadoop"입니다.
즉, 임팔라는 하둡을 전혀 사용하지 않습니다. HDFS에있는 일부 데이터를 캐시하는 모든 노드에서 데몬을 실행하기 만하면 이러한 데몬이 전체 Map / Reduce 작업을 거치지 않고도 신속하게 데이터를 반환 할 수 있습니다.
그 이유는 Map / Reduce 작업을 실행하는 데 소요되는 일정한 오버 헤드가 있으므로 Map / Reduce를 단락시킴으로써 런타임에서 꽤 큰 이득을 얻을 수 있기 때문입니다.
즉, 임팔라는 하이브를 대체하지 않으며, 매우 다른 사용 사례에 좋습니다. Impala는 Hive와 비교하여 내결함성을 제공하지 않으므로 쿼리 중에 문제가 발생하면 사라집니다. 한 작업의 실패로 인해 비용이 많이 드는 ETL 유형의 작업에 대해서는 필자가 Hive를 권하고 싶지만 임팩트는 예를 들어 데이터 과학자 또는 비즈니스 분석가가 일부 데이터를보고 분석하기를 원하는 경우와 같이 특수한 임시 쿼리에 매우 유용 할 수 있습니다 강력한 직업을 창출하지 않고 또한 개인적인 경험으로 임팔라는 아직 성숙하지 않았으며 데이터 양이 사용 가능한 메모리보다 클 때가끔 충돌이 발생했습니다.
-
==============================
2.IMHO, HDFS의 SQL 및 Hadoop의 SQL은 동일합니다. 결국 Hadoop은 HDFS (및 MapReduce)입니다. 따라서 HDFS에서 SQL을 말할 때, Hadoop의 SQL (MapReduce의 유무에 관계없이)이 가능하다는 것을 알 수 있습니다.
IMHO, HDFS의 SQL 및 Hadoop의 SQL은 동일합니다. 결국 Hadoop은 HDFS (및 MapReduce)입니다. 따라서 HDFS에서 SQL을 말할 때, Hadoop의 SQL (MapReduce의 유무에 관계없이)이 가능하다는 것을 알 수 있습니다.
실제 질문으로 돌아 가면, 임팔라는 MapReduce를 사용하는 Hive와는 달리 MPP (대규모 병렬 처리)를 사용하므로 빠른 응답을 제공합니다. 초기 오버 헤드가 포함됩니다 (Charles Sir이 지정한대로). 대규모 병렬 처리는 병렬로 실행되는 많은 개별 CPU를 사용하여 각 CPU가 자신의 전용 메모리를 갖는 단일 프로그램을 실행하는 컴퓨팅 유형입니다. 임팔라가 MPP를 기반으로한다는 사실은 MapReduce 작업의 간접비를 포함하지 않습니다. 작업 설정 및 생성, 슬롯 할당, 분할 작성, 맵 생성 등을 통해 엄청나게 빠릅니다.
그렇다고 임팔라가 모든 문제에 대한 해결책이라고 할 수는 없습니다. 메모리 집약적 인 (MPP)이기 때문에 모든 것을 메모리에 넣을 수 없기 때문에 조인 등의 과도한 데이터 작업이 필요한 작업에는 적합하지 않습니다. 하이브가 더 적합한 곳입니다.
따라서 실시간이 필요한 경우 데이터 하위 집합에 대한 임시 쿼리가 임팔라로 이동합니다. 그리고 일괄 처리가있는 경우 빅 데이터에 대한 필요성이 하이브로 이동합니다.
HTH
-
==============================
3.impala에는 몇 가지 핵심 기능이 있습니다.
impala에는 몇 가지 핵심 기능이 있습니다.
from https://stackoverflow.com/questions/16755599/how-does-impala-provide-faster-query-response-compared-to-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 이클립스 / 메이븐 (Maven)과 함께 하둡 만들기 - 유물 누락 jdk.tools : jdk.tools : jar : 1.6 (0) | 2019.07.04 |
---|---|
[HADOOP] localhost 포트 22에 연결 : 연결이 거부되었습니다. (0) | 2019.07.04 |
[HADOOP] Hadoop을위한 Java만으로 [닫기] (0) | 2019.07.04 |
[HADOOP] Big Data Analysis 시작 방법 [닫기] (0) | 2019.07.04 |
[HADOOP] 마루 대 ORC 대 ORC 대 Snappy (0) | 2019.07.04 |