Hive 쿼리 실행계획 보기

 

·       Version : Hadoop 3.0.0-cdh6.3.2, Hive

 

하이브(Hive)에서 쿼리를 실행할때, 쿼리가 어떤 실행계획으로 결과를 추출했는지 확인하는 방법으로는 explain 또는 explain extended 명령을 사용할 있다.

EXPLAIN [EXTENDED|AST|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION|ANALYZE] query

 

·       EXTENDED : 추가 정보 확인

·       AST : Abstract Syntax Tree 정보 확인

·       DEPENDENCY : 테이블간 의존 정보 확인

·       AUTHORIZATION : 테이블 조회 권한 정보 확인

·       LOCKS : 테이블의 정보 확인

·       VECTORIZATION : 벡터화 처리 정보 확인

·       ANALYZE : 실제 참조하는 row 정보 확인

 

 실행하려는 쿼리 앞에 explain 또는 explain extended명령을 함께 실행한다.

explain select * from tbl;

explain extended select * from tbl;

 

실행계획에는 쿼리를 실행하는 스테이지 정보, 스테이지에서 처리되는 작업의 정보가 출력된다.

hive> explain

    > select * from tbl_a where date = '20200114' and (url like '%XXXX%' and param like '%XXXX%')

    > ;

OK

STAGE DEPENDENCIES:

  Stage-1 is a root stage

  Stage-0 depends on stages: Stage-1

 

STAGE PLANS:

  Stage: Stage-1

    Map Reduce

      Map Operator Tree:

          TableScan

            alias: tbl_a

            Statistics: Num rows: 1343079 Data size: 694357252 Basic stats: COMPLETE Column stats: NONE

            Filter Operator

              predicate: ((url like '%XXXX%') and (param like '%XXXX%')) (type: boolean)

              Statistics: Num rows: 335769 Data size: 173588925 Basic stats: COMPLETE Column stats: NONE

              Select Operator

                expressions: col_1 (type: string), col_2 (type: string), col_3 (type: string), col_4 (type: string), col_5 (type: string), col_6 (type: string), col_7 (type: string), col_8 (type: string), col_9 (type: string), col_10 (type: string), '20200114' (type: string)

                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10

                Statistics: Num rows: 335769 Data size: 173588925 Basic stats: COMPLETE Column stats: NONE

                File Output Operator

                  compressed: false

                  Statistics: Num rows: 335769 Data size: 173588925 Basic stats: COMPLETE Column stats: NONE

                  table:

                      input format: org.apache.hadoop.mapred.SequenceFileInputFormat

                      output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

 

  Stage: Stage-0

    Fetch Operator

      limit: -1

      Processor Tree:

        ListSink

 

Time taken: 2.517 seconds, Fetched: 32 row(s)

hive>

 

 

 

2020-01-16 / Sungwook Kang / http://sungwookkang.com

 

Hadoop, Big Data, 하둡, 빅데이터, 데이터분석,  Hive, 쿼리 실행계획, Hive 쿼리, Hive Query execution plan

'SW Engineering > Hadoop' 카테고리의 다른 글

Hive 파일 Merge  (0) 2020.02.04
Hive 통계 정보  (0) 2020.01.29
Hive 쿼리 실행계획 보기  (0) 2020.01.17
YARN Node Labels (노드 레이블)  (0) 2020.01.16
YARN 메모리 설정  (0) 2020.01.14
YARN 스케줄러 – Capacity 스케줄러  (0) 2020.01.10

+ Recent posts