private static RecordReader wrapLlapVectorizedRecordReader(
          org.apache.hadoop.mapred.RecordReader<NullWritable, VectorizedRowBatch> rr) {
        if (rr == null) {
          return null;
        }
        return new RecordReader() {
          @Override
          public boolean hasNext() throws IOException {
            throw new UnsupportedOperationException();
          }

          @Override
          public Object next(Object previous) throws IOException {
            if (previous instanceof VectorizedRowBatch) {
              return nextBatch((VectorizedRowBatch) previous);
            } else {
              throw new UnsupportedOperationException();
            }
          }

          @Override
          public boolean nextBatch(VectorizedRowBatch vectorizedRowBatch) throws IOException {
            return rr.next(null ,vectorizedRowBatch);
          }

          @Override
          public long getRowNumber() throws IOException {
            throw new UnsupportedOperationException();
          }

          @Override
          public float getProgress() throws IOException {
            return rr.getProgress();
          }

          @Override
          public void close() throws IOException {
            rr.close();
          }

          @Override
          public void seekToRow(long l) throws IOException {
            throw new UnsupportedOperationException();
          }
        };
      }
Wraps an LLAP vectorized record reader to a simple ORC record reader for our delete delta reading effort here.
Assumes VectorizedRowBatch type is used in upstream record reader, will not iterate row-by-row.
@param rr
@return
ql/src/java/org/apache/hadoop/hive/ql/io/orc/VectorizedOrcAcidRowBatchReader.java