在select查询中使用hive bucketing

时间:2014-05-08 14:16:57

标签: apache hadoop hive bigdata

我在userId上有一个hive表,我的select查询在where子句中包含userId但是hive正在进行全表扫描。 hive.enforce.bucketing是真的 在这种情况下,为什么不能利用分组功能,是否有任何配置可以启用它?

表格结构

userId int,
name int,
address String,
cell int,
......
......
......
......
CLUSTERED BY  (userId) SORTED BY (userId) INTO 20 BUCKETS

选择查询

select cell from <table> where userId=<userId>

1 个答案:

答案 0 :(得分:1)

select cell from <table> TABLESAMPLE(BUCKET <n> OUT OF 20 ON userId) usertable where userId = <userId>