@Override
    public void write(Object value) {
      recordConsumer.startGroup();

      Map<?, ?> mapValues = inspector.getMap(value);
      if (mapValues != null && mapValues.size() > 0) {
        recordConsumer.startField(repeatedGroupName, 0);
        for (Map.Entry<?, ?> keyValue : mapValues.entrySet()) {
          recordConsumer.startGroup();
          if (keyValue != null) {
            // write key element
            Object keyElement = keyValue.getKey();
            recordConsumer.startField(keyName, 0);
            keyWriter.write(keyElement);
            recordConsumer.endField(keyName, 0);

            // write value element
            Object valueElement = keyValue.getValue();
            if (valueElement != null) {
              recordConsumer.startField(valueName, 1);
              valueWriter.write(valueElement);
              recordConsumer.endField(valueName, 1);
            }
          }
          recordConsumer.endGroup();
        }

        recordConsumer.endField(repeatedGroupName, 0);
      }
      recordConsumer.endGroup();
    }
Checks that an inspector matches the category indicated as a parameter.
@param inspector The object inspector to check
@param category The category to match
@throws IllegalArgumentException if inspector does not match the category
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/write/DataWritableWriter.java