Hive 修改表添加分区(add partition)和 加载数据时添加分区 的区别

假定有hive中有两个表empl_inn(管理表)和empl_ext(外部表),他们都有分区(logdate string);

1.对于外部表 empl_ext

       alter table empl_ext add partition (logdate=‘2015-02-26’) location ‘hdfs://nameservice1/vod_pb/’;      执行添加分区时   vod_pb/    文件夹下的数据不会被移动。并且没有分区目录logdate=2015-02-26

       alter table empl_ext drop partition (logdate=‘2015-02-26’);     执行删除分区目录时vod_pb/    下的数据不会被删除

     

       load data inpath 'hdfs://nameservice1/vod_pb/' overwrite into table empl_ext   partition(logdate='2015-02-26');    
    执行加载数据添加分区时 vod_pb/     文件夹下的数据会被移动,并创建分区目录logdate=2015-02-26,数据移动到此目录下

        alter table empl_ext drop partition (logdate=‘2015-02-26’);     执行删除分区目录时,已经创建logdate=2015-02-26

分区目录不会被删除,其文件夹下的数据也不会被删除;、

2.对于内部表 empl_inn

    alter table empl_inn add partition (logdate=‘2015-02-26’) location ‘hdfs://nameservice1/vod_pb/’;      执行添加分区时   vod_pb/    文件夹下的数据不会被移动。并且没有分区目录logdate=2015-02-26

       alter table empl_inn drop partition (logdate=‘2015-02-26’);     执行删除分区时vod_pb/    下的数据会被删除并且连同vod_pb/文件夹也会被删除

     

       load data inpath 'hdfs://nameservice1/vod_pb/' overwrite into table empl_inn   partition(logdate='2015-02-26');    
    执行加载数据添加分区时 vod_pb/     文件夹下的数据会被移动,并创建分区目录logdate=2015-02-26,数据移动到此目录下

        alter table empl_inn drop partition (logdate=‘2015-02-26’);     执行删除分区目录时,已经创建logdate=2015-02-26/

分区目录会被删除,其文件夹下的数据随之会被删除;、


  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值