@Override public HiveReadableRecord parse(Writable value, HiveReadableRecord record) throws IOException { final BytesRefArrayWritable braw = (BytesRefArrayWritable) value; final ArrayRecord arrayRecord = (ArrayRecord) record; arrayRecord.reset(); for (int i = 0; i < columnIndexes.length; i++) { final int column = columnIndexes[i]; final BytesRefWritable fieldData = braw.unCheckedGet(column); final byte[] bytes = fieldData.getData(); final int start = fieldData.getStart(); final int length = fieldData.getLength(); if (length == "\\N".length() && bytes[start] == '\\' && bytes[start + 1] == 'N') { arrayRecord.setNull(column, true); } else { parsePrimitiveColumn(column, bytes, start, length); } } return arrayRecord; }