二百四十二、Hive——Hive的动态分区表出现day=__HIVE_DEFAULT_PARTITION__分区

Source

一、目的

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、博客链接

http://t.csdnimg.cn/xxW7g

4、博客截图

三、解决方法

直接删掉__HIVE_DEFAULT_PARTITION__分区即可

alter table hurys_dc_dwd.dwd_json_turnratio drop partition (day='__HIVE_DEFAULT_PARTITION__');

问题解决!