private String getPartitionsForView(Table table) {
    List<FieldSchema> partitionKeys = table.getPartCols();
    if (partitionKeys.isEmpty()) {
      return "";
    }
    List<String> partitionCols = new ArrayList<String>();
    for (String col : table.getPartColNames()) {
      partitionCols.add(unparseIdentifier(col));
    }
    return " PARTITIONED ON (" + StringUtils.join(partitionCols, ", ") + ")";
  }
Struct fields are identifiers, need to be unparsed.
ql/src/java/org/apache/hadoop/hive/ql/exec/DDLPlanUtils.java