private static void handleInIcebergPartitions(
      MixedTable mixedTable,
      Set<String> inIcebergNotInHive,
      Map<String, StructLike> icebergPartitionMap,
      StructLikeMap<Map<String, String>> partitionProperty) {
    inIcebergNotInHive.forEach(
        partition -> {
          Map<String, String> property = partitionProperty.get(icebergPartitionMap.get(partition));
          if (property == null
              || property.get(HiveTableProperties.PARTITION_PROPERTIES_KEY_HIVE_LOCATION) == null) {
            return;
          }
          String currentLocation =
              property.get(HiveTableProperties.PARTITION_PROPERTIES_KEY_HIVE_LOCATION);

          if (mixedTable.io().exists(currentLocation)) {
            int transientTime =
                Integer.parseInt(
                    property.getOrDefault(
                        HiveTableProperties.PARTITION_PROPERTIES_KEY_TRANSIENT_TIME, "0"));
            List<DataFile> dataFiles =
                getIcebergPartitionFiles(mixedTable, icebergPartitionMap.get(partition));
            HivePartitionUtil.createPartitionIfAbsent(
                ((SupportHive) mixedTable).getHMSClient(),
                mixedTable,
                HivePartitionUtil.partitionValuesAsList(
                    icebergPartitionMap.get(partition), mixedTable.spec().partitionType()),
                currentLocation,
                dataFiles,
                transientTime);
          }
        });
  }
if iceberg partition location is existed, should update hive table location.
amoro-format-mixed/amoro-mixed-hive/src/main/java/org/apache/amoro/hive/utils/HiveMetaSynchronizer.java