@Override public GenericRow next(GenericRow reuse) { CSVRecord record = _iterator.next(); for (FieldSpec fieldSpec : _schema.getAllFieldSpecs()) { String column = fieldSpec.getName(); String token = record.isSet(column) ? record.get(column) : null; Object value; if (fieldSpec.isSingleValueField()) { value = RecordReaderUtils.convertToDataType(token, fieldSpec); } else { String[] tokens = token != null ? StringUtils.split(token, _multiValueDelimiter) : null; value = RecordReaderUtils.convertToDataTypeArray(tokens, fieldSpec); } reuse.putField(column, value); } return reuse; }
private static String getValue(CSVRecord record, String name) { if (!record.isSet(name)) { logger.error("Column {} not defined", name); return null; } // Get the value. First trim whitespace so that // value will be consistent. String value = record.get(name).trim(); return value; }
private static String getValue(CSVRecord record, String name) { if (!record.isSet(name)) { logger.error("Column {} not defined", name); return null; } // Get the value. First trim whitespace so that // value will be consistent. String value = record.get(name).trim(); return value; }
if (!record.isSet(name)) { if (required) { logger.error("Column {} not defined in file \"{}\" yet it is required",