@Override public boolean next(NullWritable nullWritable, VectorizedRowBatch vectorizedRowBatch) throws IOException {
    vectorizedRowBatch.reset();
    int rowsCount = 0;
    while (rowsCount < vectorizedRowBatch.getMaxSize() && baseReader.next(nullWritable, druidWritable)) {
      if (projectedColumns.length > 0) {
        try {
          serDe.deserializeAsPrimitive(druidWritable, rowBoat);
        } catch (SerDeException e) {
          throw new IOException(e);
        }
        for (int i : projectedColumns) {
          vectorAssignRow.assignRowColumn(vectorizedRowBatch, rowsCount, i, rowBoat[i]);
        }
      }
      rowsCount++;
    }
    vectorizedRowBatch.size = rowsCount;
    return rowsCount > 0;
  }
Actual projected columns needed by the query, this can be empty in case of query like: select count(*) from src.
druid-handler/src/java/org/apache/hadoop/hive/druid/io/DruidVectorizedWrapper.java