hive分区表的创建+外部表

hive表的创建:

1.外部表+分区表

create externaltable hive_2018(

id string,

akc194 string

)

partitioned by(cysj string)

row format delimited fields terminated by '|' lines terminated by '\n' stored as textfile;

load data local inpath '/root/partition.txt' into table hive_2018 partition(cysj='2017');

备注:1分区字段不能和表已有字段重复

          2.创建外部分区表,不能直接使用location,需要单独在使用load指令。

---外部表
create external table fz_external_table(id int,name string,age int,tel string)
row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfile
location '/user/hive/external/fz_external_table';

分区表和内部表的区别:

1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下(如果指定了location的话),也就是说外部表中的数据并不是由它自己来管理的!而内部表则不一样;

     2、在删除内部表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!

分区表的备注:

分区表创建后,直接将文件放入分区表的文件目录,分区表是不会自动有数据的,还需要对添加分区信息后分区表才可以读取到数据。在hive中使用指令:msck repair table xxx;(修复分区表)或者

alter table xxx add partition(month=“201801”)//添加分区信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值