hive是否支持范围分区?
我的意思是,hive支持以下内容:
insert overwrite table table2 PARTITION (employeeId BETWEEN 2001 and 3000)
select employeeName FROM emp10 where employeeId BETWEEN 2001 and 3000;
table2& emp10有两列:
employeeName& EMPLOYEEID
当我运行上述查询时,我遇到了错误:
FAILED: ParseException line 1:56 mismatched input 'BETWEEN' expecting ) near 'employeeId' in destination specification
答案 0 :(得分:2)
不可能。以下是Hive documentation的引用:
一个表可以有一个或多个分区列,并为分区列中每个不同的值组合创建一个单独的数据目录
答案 1 :(得分:1)
不可能。即使我使用单独的计算列,如
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;
因此,我们也可以并行化给定范围的查询。 希望它有所帮助。