Hive基本操作
Posted songweideboke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive基本操作相关的知识,希望对你有一定的参考价值。
一,DDL操作
1,创建表
创建内部表
create table if not exists mytable(sid int, sname string ) row format delimited fields terminated by ‘,‘ stored as textfile;
创建内部表
create external table if not exists pageview(pageid int, page_url string )
row format delimited fields terminated by ‘,‘
location ‘hdfs://192.168.184.131:9000/user/hive/warehouse/‘;
创建分区表 分表就是在加入数据前,对表进行相应需求的分开存储。
1 create table if exists invites (id int , name string ) 2 partitioned by (ds string) 3 row format delimited fields terminated by ‘,‘ lines terminated by ‘ ‘ stored as textfile;
创建分桶表 分桶就是在输入数据后,把表按照属性的一致性进行整合。
1 //开启分桶 2 set hive.enforce.bucketing = true;
对于每一个表或者是分区,Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive是针对某一列进行分桶。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶中。分桶的好处是可以获得更高的查询处理效率。使取样更高效。
当从桶表中进行查询时,hive会根据分桶的字段进行计算分析出数据存放的桶中,然后直接到对应的桶中去取数据,这样做就很好的提高了效率。
1 create table student (id int , name string )
2 clustered by (id) sorted by(name) into 4 buckets
3 row format delimited fields terminated by ‘,‘;
2,修改表
添加分区
1 alter table student_p add partition(part=‘a‘) partition (part=‘b‘);
删除分区
alter table student_p drop partition(part=‘a‘);
重命名表
alter table table_name rename to new_table_name;
增加列
alter table student add columns (sex string);
更新列
以上是关于Hive基本操作的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程