1、表复制(五分区表复制)
create table t1 as select name,age from t2 where ds>'2022-06-04'
2、表覆盖(先清空表中的原有数据,再向表中插入数据)
insert overwrite TABLE t1 select name,age from t2 where ds>'2022-06-04'
3、表分区覆盖(先清空表分区中的原有数据,再向表中插入数据)
insert
overwrite
table t1
partition(ds='
2019-08-08'
) select name,age from t2 where
ds>'2022-06-04'4、表创建:
CREATE TABLE if not exists mydb.t1 (name string,age int) PARTITIONED BY ( `ds` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES ( 'field.delim'=',', 'serialization.format'=',') STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' TBLPROPERTIES ( 'bucketing_version'='2', 'transient_lastDdlTime'='1635410204');
5、表删除(慎用):DROP TABLE table_name;
6、表分区删除:ALTER TABLE example_table DROP PARTITION (date='2022-01-01');
7、表查询聚类(先聚类-再查询-再排序):select a,count(*) as frequency from mydb.t1 group by name order by frequency desc;
8、表内容和结构展示:DESCRIBE mydb.t1;
9、表详细内容和结构展示:DESCRIBE EXTENDED mydb.t1;
10、给已经存在的表插入新列:alter table mydb.t1 add columns (name string);
11、给已经存在的表级联插入新列:alter table mydb.t1 add columns (name string) cascade;
12、批量执行sql命令:hive -f mydb.sql -d mydb;