Hive 如何使用列的值范围对配置单元表进行分区
我有一个包含两列的配置单元表。员工ID和工资 数据如下所示Hive 如何使用列的值范围对配置单元表进行分区,hive,hiveql,hive-partitions,hiveddl,Hive,Hiveql,Hive Partitions,Hiveddl,我有一个包含两列的配置单元表。员工ID和工资 数据如下所示 Employee ID Salary 1 10000.08 2 20078.67 3 20056.45 4 30000.76 5 10045.14 6 43567.76 我想基于薪资列创建分区。例如,薪资范围为10000到20000、20001到30000的分区 如何实现这一点。Hive不支持范围分区,但您可以在数据加载期间计算范围 创建按薪资范围划分的表: create table your_table (
Employee ID Salary
1 10000.08
2 20078.67
3 20056.45
4 30000.76
5 10045.14
6 43567.76
我想基于薪资列创建分区。例如,薪资范围为10000到20000、20001到30000的分区
如何实现这一点。Hive不支持范围分区,但您可以在数据加载期间计算范围
create table your_table
(
employee_id bigint,
salary double
)
partitioned by (salary_range bigint)
insert overwrite table your_table partition (salary_range)
select employee_id, salary,
case
when salary between 10000 and 20000 then 20000
when salary between 20001 and 30000 then 30000
...
else ...
end as salary_range
from some_table;
非常感谢。我尝试了上述方法,效果良好。