码迷,mamicode.com
首页 > 其他好文 > 详细

Hive基本操作

时间:2018-10-23 23:04:24      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:方式   rop   row   location   查询   form   记录   sorted by   处理   


一,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 \n 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基本操作

标签:方式   rop   row   location   查询   form   记录   sorted by   处理   

原文地址:https://www.cnblogs.com/songweideboke/p/9839473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!