Улей объясни план, где посмотреть полное сканирование таблицы? - PullRequest
1 голос
/ 24 мая 2019

Как узнать из улья EXPLAIN есть ли полное сканирование таблицы?

Например, есть ли полное сканирование?Размер таблицы - 993 строки.

Запрос:

explain select latitude,longitude FROM CRIMES WHERE geohash='dp3twhjuyutr'

У меня есть дополнительный индекс для столбца geohash.

STAGE PLANS:
      Stage: Stage-1
        Map Reduce
          Map Operator Tree:
              TableScan
                alias: crimes
                filterExpr: (geohash = 'dp3twhjuyutr') (type: boolean)
                Statistics: Num rows: 993 Data size: 265582 Basic stats: COMPLETE Column stats: NONE
                Filter Operator
                  predicate: (geohash = 'dp3twhjuyutr') (type: boolean)
                  Statistics: Num rows: 496 Data size: 132657 Basic stats: COMPLETE Column stats: NONE
                  Select Operator
                    expressions: latitude (type: double), longitude (type: double)
                    outputColumnNames: _col0, _col1
                    Statistics: Num rows: 496 Data size: 132657 Basic stats: COMPLETE Column stats: NONE
                    File Output Operator
                      compressed: false
                      Statistics: Num rows: 496 Data size: 132657 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

1 Ответ

1 голос
/ 24 мая 2019
  1. Отсутствие предиката раздела в плане означает полное сканирование. Конечно, это не про предикатное нажатие в ORC.
  2. Проверьте размер данных и количество строк в каждом операторе.
  3. EXPLAIN DEPENDENCY команда покажет всю коллекцию input_partitions и вы сможете проверить, что именно будет сканироваться.
...