private Object convertMapRowColumn(
            ColumnVector colVector, int batchIndex, Field field) throws IOException {

      final SettableMapObjectInspector mapOI = (SettableMapObjectInspector) field.objectInspector;
      final MapComplexTypeHelper mapHelper = (MapComplexTypeHelper) field.getComplexHelper();
      final Field keyField = mapHelper.getKeyField();
      final Field valueField = mapHelper.getValueField();
      final MapColumnVector mapColumnVector = (MapColumnVector) colVector;

      final Object map = mapOI.create();
      while (deserializeRead.isNextComplexMultiValue()) {
        final Object key = convertComplexFieldRowColumn(mapColumnVector.keys, batchIndex, keyField);
        final Object value = convertComplexFieldRowColumn(mapColumnVector.values, batchIndex, valueField);
        mapOI.put(map, key, value);
      }
      return map;
    }
Initialize for converting the source data type that are going to be read with the
DeserializedRead interface passed to the constructor to the target data types desired in
the VectorizedRowBatch.

No projection -- using the column range 0 .. columnCount-1

@param targetTypeInfos
@param columnsToIncludeTruncated
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorDeserializeRow.java