hive-protolib/src/main/java/com/streamsets/pipeline/stage/lib/hive/HiveMetastoreUtil.java
public static LinkedHashMap<String, HiveTypeInfo> getPartitionNameType(Record metadataRecord)
      throws HiveStageCheckedException{
    LinkedHashMap<String, HiveTypeInfo> partitionNameType = new LinkedHashMap<>();
    extractInnerMapFromTheList(
        metadataRecord,
        PARTITION_FIELD,
        PARTITION_NAME,
        TYPE_INFO,
        true,
        partitionNameType,
        new HiveStageCheckedException(Errors.HIVE_17, PARTITION_FIELD, metadataRecord)
    );
    return partitionNameType;
  }
public static LinkedHashMap<String, HiveTypeInfo> getPartitionNameType(Record metadataRecord)
      throws HiveStageCheckedException{
    LinkedHashMap<String, HiveTypeInfo> partitionNameType = new LinkedHashMap<>();
    extractInnerMapFromTheList(
        metadataRecord,
        PARTITION_FIELD,
        PARTITION_NAME,
        TYPE_INFO,
        true,
        partitionNameType,
        new HiveStageCheckedException(Errors.HIVE_17, PARTITION_FIELD, metadataRecord)
    );
    return partitionNameType;
  }
Extract column information from the Partition list in "/partitions" field.<br>

Partition Information should exist in this form:<br>
[{name:"partition_column1", typeInfo:{"type": "date", "extraInfo": ""},
{name:"partition_column2", typeInfo:{"type": "string", "extraInfo": ""}]

@param metadataRecord record which contains the {@link #PARTITION_FIELD} and conform to the above structure.
@return Map of partition name to partition type
@throws HiveStageCheckedException if no partition information exists or the record has invalid fields.