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

    if (!deserializeRead.readComplexField()) {
      VectorizedBatchUtil.setNullColIsNullValue(colVector, batchIndex);
      return null;
    }

    colVector.isNull[batchIndex] = false;
    return field.deserializer.convert(colVector, batchIndex, field);
  }
Convert one row column value that is the current value in deserializeRead.

We deserialize into a writable and then pass that writable to an instance of VectorAssignRow
to convert the writable to the target data type and assign it into the VectorizedRowBatch.

@param batch
@param batchIndex
@param logicalColumnIndex
@throws IOException
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorDeserializeRow.java