分桶列上的 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 (数据文件),这就是为什么在两种情况都启动了相同数量的映射器
我在时间段列上创建了一个分桶的 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 (数据文件),这就是为什么在两种情况都启动了相同数量的映射器