内部表,外部表,分区表

hive中的外部表,内部表以及分区表;

1.未被external修饰的是内部表【managed table】,被external修饰的为外部表【external table】。

2.内部表数据由Hive自身管理,外部表数据由HDFS管理。

3.内部表数据存储在hive.metastore.warehouse.dir【默认:/user/hive/warehouse】,外部表数据存储位置由用户自己决定。

4.删除内部表会直接删除元数据【metadata】及存储数据,删除外部表仅仅删除元数据,HDFS上的文件不会被删除。

5:对内部表的修改会直接同步到元数据,而对外部表的表结构和分区进行修改,则需要修改【MSCK REPAIR TABLE table_name】。

6:分区表,理解分区表:就是将原来的一整张表,分成多张表.

    // 创建内部表:
create table stu1(id string,name string,sex string,age int,
major string)row format delimited fields terminated by ',';
	//将数据上传到表中
	load data local inpath '/home/huaqiang/hivedata/stu.log' 
	overwrite into table stu1;
 // 创建外部表:
create external table if not exists stu1(id string,name string,sex 
string,age int,major string)row format delimited fields terminated 
by ',';
//分区表
 create table stu4_partition(id string,name string,sex string,age int ,major string)
partitioned by (year string)
row format delimited fields terminated by ','

//上传数据
load data local inpath '/home/huaqiang/hivedata/stu.log' 
into table stu4_partition partition (year='2019');
 //添加分区:
alter table dept_partition add partition(month='201706') ;  
前提: month 分布必须存在.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值