分桶列上的 Apache 配置单元查询

Apache hive Query on bucketed column

我在时间段列上创建了一个分桶的 table,它的值从 0 到 23,时间段列的数据类型是 int

我创建了 24 个桶并在桶中加载了 10000000 行(6GB 数据)table

同时我使用相同的数据集

创建了一个普通的非分桶table

后来我查询了分桶 table 以及非分桶 table 如下所示

select * from bucketed_table where timeslot = 15;

select * from non-bucketed_table where timeslot = 15;

两个查询花费的时间几乎相同

我假设分桶 table 的性能比非分桶 table

好得多

如果我做错了什么或者我的假设完全错误,谁能告诉我?

根据我的理解,分桶 table 仅在与其他分桶 table 连接时表现更好。如果我们只查询分桶列,则不会有任何性能提升,因为在这种情况下分桶 table 和非分桶 table 扫描整个 table (数据文件),这就是为什么在两种情况都启动了相同数量的映射器