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命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

Apache Hive 基本理论与安装指南

VSCode 如何操作用户自定义代码片段(快捷键)

c_cpp Robolution基本代码片段

Hive数据仓库--Java代码JDBC方式访问Hive中表的数据