配置单元是否支持范围分区?
我的意思是,Hive是否支持以下内容:
insert overwrite table table2 PARTITION (employeeId BETWEEN 2001 and 3000)
select employeeName FROM emp10 where employeeId BETWEEN 2001 and 3000;
其中表2和表10有两列:
雇员姓名和雇员ID
运行上述查询时,我遇到一个错误:
FAILED: ParseException line 1:56 mismatched input 'BETWEEN' expecting ) near 'employeeId' in destination specification
2条答案
按热度按时间anauzrmj1#
不,这是不可能的。即使我使用单独的计算列,
insert overwrite table table2 PARTITION (employeeId_range) select employeeName , employeeId/1000 FROM emp10 where employeeId BETWEEN 2000 and 2999;
这将确保所有值都落在同一分区中。在查询表时,因为我们已经知道范围计算器,我们可以select employeeName , employeeId FROM table2 where employeeId_range=2;
因此,我们也可以并行化给定范围的查询。希望有帮助。shyt4zoc2#
这是不可能的。这里引用了hive文档:
一个表可以有一个或多个分区列,并且为分区列中每个不同的值组合创建一个单独的数据目录