class type record_reader =object
..end
method pos_in : int
method input_record : unit -> string
End_of_file
method peek_record : unit -> string
peek_record
or input_record
will read the line again.
May raise End_of_file
.method input_records : string Queue.t -> unit
End_of_file
if
the end of the file is reached.method close_in : unit -> unit
method abort : unit -> unit
method to_fd_e : Unix.file_descr -> Unixqueue.event_system -> unit Uq_engines.engine
to_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.engine
to_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.engine
to_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.filesystem
method record_config : record_config
record_config
method stats : Mapred_stats.stats
read_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