分享

Hive表建索引后,执行计划没有索引描述

zstu 发表于 2017-1-19 17:14:40 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 11461
我在hive中建了一个purchase表,然后对purchase表建立索引[mw_shl_code=java,true]create index  hive_hbase_visitor2_index on table hive_hbase_visitor2(name) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' WITH DEFERRED REBUILD in table hive_index_table;
alter index hive_hbase_visitor2_index on hive_hbase_visitor2 rebuild;[/mw_shl_code]然后查询select * from hive_hbase_visitor2 limit 10的执行计划,但执行计划里没有索引描述。[mw_shl_code=java,true]hive> explain select * from hive_hbase_visitor2 limit 10;
OK
STAGE DEPENDENCIES:
  Stage-0 is a root stage

STAGE PLANS:
  Stage: Stage-0
    Fetch Operator
      limit: 10
      Processor Tree:
        TableScan
          alias: hive_hbase_visitor2
          Statistics: Num rows: 33082940 Data size: 661658800 Basic stats: COMPLETE Column stats: NONE
          Select Operator
            expressions: id (type: string), name (type: string), age (type: int), sex (type: string)
            outputColumnNames: _col0, _col1, _col2, _col3
            Statistics: Num rows: 33082940 Data size: 661658800 Basic stats: COMPLETE Column stats: NONE
            Limit
              Number of rows: 10
              Statistics: Num rows: 10 Data size: 200 Basic stats: COMPLETE Column stats: NONE
              ListSink

Time taken: 0.23 seconds, Fetched: 20 row(s)
[/mw_shl_code] 是索引没有起作用吗?

已有(4)人评论

跳转到指定楼层
langke93 发表于 2017-1-19 21:06:33
使用带有条件的查询select * from table where 字段【索引字段】=“”
回复

使用道具 举报

zstu 发表于 2017-1-20 08:57:12
使用了索引字段name也没有[mw_shl_code=java,true]hive> explain select count(*) from hive_hbase_visitor2 where name='knlf';
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: hive_hbase_visitor2
            Statistics: Num rows: 33082940 Data size: 661658800 Basic stats: COMPLETE Column stats: NONE
            Filter Operator
              predicate: (name = 'knlf') (type: boolean)
              Statistics: Num rows: 16541470 Data size: 330829400 Basic stats: COMPLETE Column stats: NONE
              Select Operator
                Statistics: Num rows: 16541470 Data size: 330829400 Basic stats: COMPLETE Column stats: NONE
                Group By Operator
                  aggregations: count()
                  mode: hash
                  outputColumnNames: _col0
                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                  Reduce Output Operator
                    sort order:
                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                    value expressions: _col0 (type: bigint)
      Reduce Operator Tree:
        Group By Operator
          aggregations: count(VALUE._col0)
          mode: mergepartial
          outputColumnNames: _col0
          Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
          File Output Operator
            compressed: false
            Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
            table:
                input format: org.apache.hadoop.mapred.TextInputFormat
                output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

  Stage: Stage-0
    Fetch Operator
      limit: -1
      Processor Tree:
        ListSink

Time taken: 0.08 seconds, Fetched: 45 row(s)
[/mw_shl_code]
回复

使用道具 举报

zstu 发表于 2017-1-20 10:42:51
成功了。设置的参数没起作用,重新设置一下就好了:hive.optimize.index.filter.compact.minsize=56 hive.optimize.index.filter=true
回复

使用道具 举报

ZERO12138 发表于 2017-10-13 20:27:12
楼主,索引可以使用后是使用explain查看的的吗,会输出什么样的句子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条