@Override
  protected void func(DoubleColumnVector outV, BytesColumnVector inV, int batchIndex) {

    byte[] bytes = inV.vector[batchIndex];
    final int start = inV.start[batchIndex];
    final int length = inV.length[batchIndex];
    try {
      if (!LazyUtils.isNumberMaybe(bytes, start, length)) {
        outV.noNulls = false;
        outV.isNull[batchIndex] = true;
        outV.vector[batchIndex] = DoubleColumnVector.NULL_VALUE;
        return;
      }
      outV.vector[batchIndex] =
          Float.parseFloat(
              new String(bytes, start, length, StandardCharsets.UTF_8));
    } catch (Exception e) {

      // for any exception in conversion to integer, produce NULL
      outV.noNulls = false;
      outV.isNull[batchIndex] = true;
      outV.vector[batchIndex] = DoubleColumnVector.NULL_VALUE;
    }
  }
Convert input string to a double, at position i in the respective vectors.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastStringToFloat.java