我有两张表
一个是桶,另一个不是——除了它们是相同的。都存储为orc并进行分区。
在给定分区上查询桶状表要比在同一分区上查询桶状表慢得多。
这是意料之中的吗?
如果不是,原因是什么?
如果是,那么我是否应该得出结论,我持有一个桶状表的唯一动机是为了连接和抽样,在这种情况下,持有表的两个副本-一个桶状而另一个不是(听起来很浪费)?
目前HIVE不支持where子句中列的bucket相关查询优化。但是,在join操作期间,bucket是有益的。在上面提到的用例中,分区和ORC以及按顺序存储的数据应该会给您最好的响应。