Hive 进阶 建表语句 分区 分桶 视图
一、建表出错不想drop跑路的万能语句
1.修改hive表结构 - alter table常用
作用 | 命令格式 |
---|---|
修改表名 | alter table table_name rename to newName |
新增列 | alter table table_name add columns (column_name datatype) |
删除(利用修改)/替换列 | alter table table_name replace columns (name datatype,…) |
修改列名和属性 | alter table table_name change column_name new_name new_type |
2.insert overwrite
覆盖之前表所有添加内容添加新内容
insert overwrite table table_name values(...),(...),...
3.注意
hive一般不支持update和delete操作,需要修改配置,频繁update和delete操作违背hive的初衷,尽量使用增量添加方式。
二、Hive建表高阶语句
CTAS - as select方式建表
格式:
CREATE TABLE cats_employee as SELECT * FROM EMPLOYEE;
注意:CTAS不能创建partition,external,bucket table
用法实例:
create table myuser as select * from userinfos where age=40;
CTE(CATS with Common Table Expression )
CREATE TABLE cte_employee AS
WITH
r1 AS (SELECT name FROM r2 WHERE name = 'Michael'),
r2 AS (SELECT name FROM employee WHERE sex_age.sex= 'Male'),
r3 AS (SELECT name FROM employee WHERE sex_age.sex= 'Female')
SELECT * FROM r1 UNION ALL SELECT * FROM r3;
某复杂查询语句:
sql写法:
select r.username,r.className,r.score,(r