I have a hive table bucketed on userId, My select query contains userId in where clause but hive is doing full table scan. hive.enforce.bucketing is true Why don't hive take advantage of bucketing in such cases, is there any config to enable it??

Table Structure

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

Select query

select cell from <table> where userId=<userId>
有帮助吗?

解决方案

select cell from <table> TABLESAMPLE(BUCKET <n> OUT OF 20 ON userId) usertable where userId = <userId>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top