4

我编写了一个自定义索引处理程序并想对其进行测试。但是 hive 没有使用它。所以我检查了(pokes (int foo, string bar))带有配置单元分布的简单表以进行测试。然后我创建了一个紧凑的索引并设置了set hive.optimize.index.filter=true;但是,在检查日志信息后,似乎 hive 仍然没有使用索引。那么,问题是什么?我发出的查询是,select foo from pokes WHERE foo=498

以下是我发出查询后得到的日志信息。

12/07/26 12:25:17 INFO index.IndexWhereProcessor: Processing predicate for index optimization
12/07/26 12:25:17 INFO index.IndexWhereProcessor: (foo = 498) 

12/07/26 12:25:17 INFO metastore.HiveMetaStore: 0: get_table : db=default tbl=pokes_idx

12/07/26 12:25:17 INFO hive.log: DDL: struct pokes_idx { i32 foo, string _bucketname, list<i64> _offsets}
12/07/26 12:25:17 INFO index.IndexWhereProcessor: checking index staleness...  
12/07/26 12:25:17 INFO index.IndexWhereProcessor: 1342465077455

12/07/26 12:25:17 INFO index.IndexWhereProcessor: 1342465077455

12/07/26 12:25:17 INFO util.NativeCodeLoader: Loaded the native-hadoop library

12/07/26 12:25:17 WARN snappy.LoadSnappy: Snappy native library not loaded
4

0 回答 0