@Override public long next(HdfsInputStream hdfsistr, Holder<Object> key, Holder<Object> value) { try { ArrayFile.Reader reader = (ArrayFile.Reader) hdfsistr.getIn(); Holder<Integer> valueSize = new Holder<Integer>(); Writable valueWritable = (Writable) ReflectionUtils.newInstance(reader.getValueClass(), new Configuration()); if (reader.next(valueWritable) != null) { value.value = getObject(valueWritable, valueSize); return valueSize.value; } else { return 0; } } catch (Exception ex) { throw new RuntimeCamelException(ex); } }