【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)单独分区修复
- 添加分区
altertable dwd.test addifnotexistspartition(sample_date='20220102',partition_name='r') location '/warehouse/tablespace/external/hive/dwd.db/test/sample_date=20220102/partition_name=r';
- 修改分区
altertable dwd.test set location '/warehouse/tablespace/external/hive/dwd.db/test/sample_date=20220102/partition_name=r'
注意:每个分区单独修复这样比较稳健,但是伴随的就是工作量会变多,也就是说 Hive 表中有多少个 parition 就要执行多少次 sql。
版权归原作者 bmyyyyyy 所有, 如有侵权,请联系我们删除。