@Override public Object getCurrentValue() throws IOException, InterruptedException { rowCount += 1; Object[] row = new Object[carbonColumnarBatch.columnVectors.length]; for (int i = 0; i < carbonColumnarBatch.columnVectors.length; i ++) { Object data = carbonColumnarBatch.columnVectors[i].getData(batchIdx - 1); if (carbonColumnarBatch.columnVectors[i].getType() == DataTypes.STRING || carbonColumnarBatch.columnVectors[i].getType() == DataTypes.VARCHAR) { if (data == null) { row[i] = null; } else { row[i] = ByteUtil.toString((byte[]) data, 0, (((byte[]) data).length)); } } else if (carbonColumnarBatch.columnVectors[i].getType() == DataTypes.BOOLEAN) { if (data == null) { row[i] = null; } else { row[i] = ByteUtil.toBoolean((byte) data); } } else { row[i] = carbonColumnarBatch.columnVectors[i].getData(batchIdx - 1); } } return row; }