当我们在 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;
注意:如果数据量较大,或分区数量较多,整表修复虽然方便但是会伴随风险。文章来源:https://www.toymoban.com/news/detail-534986.html
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。文章来源地址https://www.toymoban.com/news/detail-534986.html
到了这里,关于【Hive-Partition】Hive添加分区及修改分区location的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!