Hive QL主要分为DDL、DML、UDF
1. 操作数据库
创建数据库
create datebase test;
描述数据库
desc database test;
改变默认数据库
use test;
删除数据库
drop database test;
2. 创建表
先判断再创建表,默认创建的是内部表
create table if not exist t_user
(
id string,
name string
);
创建外部表,在删除时仅删除元数据
create external table t_user
{
id string,
name string
}
location /test/t_user
创建分区表
create table t_user
(
id string,
name string
} partioned by (age int);
3. 准备数据
从本地加载文件到Hive表
load data local inpath '/usr/local/data/test.txt' into table t_user;
通过已有的表,将数据写入另一个表(覆盖写入)
insert overwrite table t_user_2 select * from t_user;
4. 查询数据
查询数据
select * from t_user;
在查询中使用函数
select upper(name),id from t_user;
使用统计函数,会触发MapReduce操作
select count(*) from t_user;
去除重复值,会触发MR
select distinct(name) from t_user;
限制返回的记录数目
select id,name from t_user limit 3;
采用like进行模糊查询
select * from t_user where name like '%A%';
分组统计
select avg(salary) from t_user group by age;
通过having过滤分组统计结果
select avg(salary) from t_user_salary
group by age
having avg(salary) > 10000;
参考
【1】大数据Hadoop 3.x分布式处理实战