我有一个包含两列的配置单元表。employee id和salary。数据如下所示。
Employee ID Salary 1 10000.08 2 20078.67 3 20056.45 4 30000.76 5 10045.14 6 43567.76
我想基于salary列创建分区。例如,salary range 10000到20000、20001到30000的分区。我如何做到这一点。
sy5wg1nm1#
配置单元不支持范围分区,但可以在数据加载期间计算范围。创建按薪资范围分区的表:
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;
1条答案
按热度按时间sy5wg1nm1#
配置单元不支持范围分区,但可以在数据加载期间计算范围。
创建按薪资范围分区的表:
插入用于薪资范围计算的用例: