diff --git ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java index 7bb90d3e97..bd1fae1143 100644 --- ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java +++ ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java @@ -2879,7 +2879,12 @@ private void constructOneLBLocationMap(FileStatus fSta, // calculate full path spec for each valid partition path validPartitions.forEach(partPath -> { Map fullPartSpec = Maps.newLinkedHashMap(partSpec); - if (!Warehouse.makeSpecFromName(fullPartSpec, partPath, new HashSet<>(partSpec.keySet()))) { + String staticParts = Warehouse.makeDynamicPartName(partSpec); + Path computedPath = partPath; + if (!staticParts.isEmpty() ) { + computedPath = new Path(new Path(partPath.getParent(), staticParts), partPath.getName()); + } + if (!Warehouse.makeSpecFromName(fullPartSpec, computedPath, new HashSet<>(partSpec.keySet()))) { Utilities.FILE_OP_LOGGER.warn("Ignoring invalid DP directory " + partPath); } else { PartitionDetails details = new PartitionDetails();