public interface IgfsRecordResolver extends Serializable
IgfsTaskis split into
IgfsJobs each produced job will obtain
IgfsFileRangebased on file data location. Record resolver is invoked in each job before actual execution in order to adjust record boundaries in a way consistent with user data.
E.g., you may want to split your task into jobs so that each job process zero, one or several lines from that file. But file is split into ranges based on block locations, not new line boundaries. Using convenient record resolver you can adjust job range so that it covers the whole line(s).
The following record resolvers are available out of the box:
@Nullable @Nullable IgfsFileRange resolveRecords(IgniteFileSystem fs, IgfsInputStream stream, IgfsFileRange suggestedRecord) throws IgniteException, IOException