hive -- 分区,分桶(创建,修改,删除)
分区:
静态创建分区:
1. 数据:
john doe 10000.0
mary smith 8000.0
todd jones 7000.0
boss man 20000.0
freed finance 15000.0
stacy saber 4000.0
建表+添加一个数据
create table if not exists employees(
name string,
money float)
row format delimited fields terminated by '\t'
stored as textfile;
load data local inpath '/home/data/employees.txt' into table employees;
问题:查询工资在8000元到10000元之间的人和工资
select *
from employees
where money between 8000 and 10000;
问题:按照工资添加新列,少于5000元的添加low,5000-7000元之间的添加middle,7000-10000元的添加hight,10000元以上添加very hight
select
name,money,
case
when money>=5000 then(
case
when money>=7000 then(
case
when money>=10000 then 'very hight'
else 'hight' end
)
else 'middle' end
)
else 'low' end
from employees;
2.数据(分区)
li1 man 20
li11 man 21
li12 man 18
li13 woman 19
li14 man 20
li15 woman 21
li16 woman 22
li17 man 23
li18 man 24
建表+添加数据
create table if not exists p0(
name string,
sex string,
age string)
row format delimit