Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.0.0, 4.0.0-alpha-1, 4.0.0-alpha-2
-
None
Description
After the patch is updated, the partition table location and hdfs data directory are displayed normally, but the partition location of the table in the SDS in the Hive metabase is still displayed as the location of the old table, resulting in no data in the query partition.
in beeline:
------------------------------------------------------------
set hive.create.as.external.legacy=true;
CREATE TABLE part_test(
c1 string
,c2 string
)PARTITIONED BY (dat string)
insert into part_test values ("11","th","20220101")
insert into part_test values ("22","th","20220102")
alter table part_test rename to part_test11;
--this result is null.
select * from part_test11 where dat="20220101";
part_test.c1 | part_test.c2 | part_test.dat |
---|---|---|
---------------------------------------------------------------------------------------------
SDS in the Hive metabase:
select SDS.LOCATION from TBLS,SDS where TBLS.TBL_NAME="part_test11" AND TBLS.TBL_ID=SDS.CD_ID;
---------------------------------------------------------------------------------------------------
LOCATION |
hdfs://nameservice1/warehouse/tablespace/external/hive/part_test11 |
hdfs://nameservice1/warehouse/tablespace/external/hive/part_test/dat=20220101 |
hdfs://nameservice1/warehouse/tablespace/external/hive/part_test/dat=20220102 |
---------------------------------------------------------------------------------------------------
We need to modify the partition location of the table in SDS to ensure that the query results are normal
Attachments
Issue Links
- links to