class type record_reader =object..end
method pos_in : intmethod input_record : unit -> stringEnd_of_filemethod peek_record : unit -> stringpeek_record or input_record will read the line again.
May raise End_of_file.method input_records : string Queue.t -> unitEnd_of_file if
the end of the file is reached.method close_in : unit -> unitmethod abort : unit -> unitmethod to_fd_e : Unix.file_descr -> Unixqueue.event_system -> unit Uq_engines.engineto_fd_e fd esys: The records are written to fd.
The position pos_in is not updated. The length of the records
is not checked except for a few records that are crucial for
interpreting the boundaries of the bigblocks.
One is only allowed to use either to_fd_e or input_record,
but not to switch between these APIs.
While the engine is running no other method must be called.
This method is only available if the underlying filesystem
is PlasmaFS.
method to_dev_e : Uq_io.out_device -> Unixqueue.event_system -> unit Uq_engines.engineto_fd_e, only that this method writes to
an Uq_io.out_device.
This method is only available if the underlying filesystem
is PlasmaFS.
method to_any_e : (Netsys_mem.memory -> int -> int -> unit Uq_engines.engine) ->
Unixqueue.event_system -> unit Uq_engines.engineto_any_e dest esys: like to_fd_e but the data is not written to
a file descriptor. Instead, the function dest is called like
dest m pos len to output some data.
This is an experimental method! It might not be defined on every record reader.
This method is only available if the underlying filesystem
is PlasmaFS.
method filesystem : Mapred_fs.filesystemmethod record_config : record_configrecord_configmethod stats : Mapred_stats.statsread_blocks: how many blocks have been read inread_lines: how many lines have been processed (unavailable
if to_fd_e is used)read_bytes: how many bytes have been processedread_fs_time: the time spent for waiting on the filesystem layer
for new data