我在timeslot列上创建了一个bucked表,它的值从0到23,timeslot列的数据类型是int
我已经创建了24个bucket,并在bucked表中加载了10000000行(6gb的数据)
同时,我使用相同的数据集创建了一个普通的非带扣表
后来我查询了有扣子的table和没有扣子的table,如下所示
select * from bucketed_table where timeslot = 15;
select * from non-bucketed_table where timeslot = 15;
两个查询占用的时间几乎相同
我假设有扣子的table要比没有扣子的table好得多
如果我做错了什么或者我的假设完全错了,有人能告诉我吗?
1条答案
按热度按时间0ve6wy6x1#
据我所知,只有在与其他带扣table连接的情况下,带扣table才能表现得更好。如果我们只查询带方框的列,将不会有任何性能提高,因为在这种情况下,带方框的表和非带方框的表都会扫描整个表(数据文件),这就是为什么在这两种情况下启动相同数量的Map器的原因