hive 相关总结

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;

猜你喜欢

转载自blog.csdn.net/sslfk/article/details/131946323