一、目的
Hive的DWD层动态分区表的分区出现day=HIVE_DEFAULT_PARTITION,有点懵,而且表中数据的day字段也显示__HIVE_DEFAULT_PARTITION__
1、DWD层动态分区表的分区 HIVE_DEFAULT_PARTITION
2、DWD层分区字段day数据 HIVE_DEFAULT_PARTITION
二、分析原因
找了篇博客,发现原来是我插入数据指定分区日期这一天却没有数据,所以才会显示分区字段day的数据为__HIVE_DEFAULT_PARTITION__
用博客里的话说,Hive对于指定的分区键如果存在空值时,会对空值部分创建一个默认分区用于存储该部分数据,默认该分区名为_HIVE_DEFAULT_PARTITION
1、插入的数据,数据日期都不是2024-06-27
2、但是动态SQL里,指定的分区是2024-06-27
3、博客链接
4、博客截图
三、解决方法
直接删掉__HIVE_DEFAULT_PARTITION__分区即可
alter table hurys_dc_dwd.dwd_json_turnratio drop partition (day='__HIVE_DEFAULT_PARTITION__');
问题解决!