我在timeslot列上创建了一个分桶表,值从0到23,timeslot列的数据类型为int
我已经创建了24个存储桶,并在存储桶的表中加载了10000000行(6 6GB数据
同时,我使用相同的数据集创建了一个普通的非分桶表
之后,我查询了分桶表和非分桶表,如下所示
select * from bucketed_table where timeslot = 15;
select * from non-bucketed_table where timeslot = 15;这两个查询花费的时间几乎相同
我假设分桶表的性能比非分桶表要好得多。
如果我做错了什么,或者我的假设是完全错误的,有人能告诉我吗?
发布于 2017-03-21 15:41:00
根据我的理解,分桶表只有在与其他分桶表连接的情况下才能表现得更好。如果我们只对分桶列进行查询,则不会有任何性能提升,因为在这种情况下,分桶表和非分桶表都会扫描整个表(数据文件),这就是为什么在这两种情况下都会启动相同数量的映射器
https://stackoverflow.com/questions/42850246
复制相似问题