【Hive-Partition】Hive添加分区及修改分区location

【Hive-Partition】Hive添加分区及修改分区location

当我们在 Hive 中创建外表时,需要映射 HDFS 路径,数据落入到 HDFS 上时,我们在 Hive 中查询时会发现 HDFS中有数据,Hive 没有数据,那是因为我们在 HDFS 上的数据还没有成功修复至 Hive中,需要进行分区的修复(或者称之为添加分区)

1)整表修复数据

set hive.msck.repair.batch.size=1;
set hive.msck.path.validation=ignore;
msck repair table test; 

注意:如果数据量较大,或分区数量较多,整表修复虽然方便但是会伴随风险。

2)单独分区修复

  • 添加分区
alter table dwd.test add if not exists partition (sample_date='20220102',partition_name='r') location '/warehouse/tablespace/external/hive/dwd.db/test/sample_date=20220102/partition_name=r';
  • 修改分区
alter table dwd.test set location '/warehouse/tablespace/external/hive/dwd.db/test/sample_date=20220102/partition_name=r'

注意:每个分区单独修复这样比较稳健,但是伴随的就是工作量会变多,也就是说 Hive 表中有多少个 parition 就要执行多少次 sql。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值