List<Partition> getPartitionsByPartitionVals(List<String> partialPartVals) throws MetaException {
    if (partialPartVals == null || partialPartVals.isEmpty()) {
      throw new MetaException("Partition partial vals cannot be null or empty");
    }
    String partNameMatcher = makePartNameMatcher(tTable, partialPartVals, ".*");
    List<Partition> matchedPartitions = new ArrayList<>();
    for (Map.Entry<String, Partition> entry : parts.entrySet()) {
      if (entry.getKey().matches(partNameMatcher)) {
        matchedPartitions.add(entry.getValue());
      }
    }
    return matchedPartitions;
  }
Provided values for the 1st N partition columns, will return all matching PartitionS
The list is a partial list of partition values in the same order as partition columns.
Missing values should be represented as "" (empty strings).  May provide fewer values.
So if part cols are a,b,c, {"",2} is a valid list
{@link MetaStoreUtils#getPvals(List, Map)}
ql/src/java/org/apache/hadoop/hive/ql/metadata/PartitionTree.java