Обычно при работе с Hadoop и Flink открытие / чтение файла из распределенной файловой системы возвращает объект Source (аналог Sink), расширяющий java.io.InputStream.
Однако в ApacheIgnite, IgfsSecondaryFileSystem и, более конкретно, IgniteHadoopIgfsSecondaryFileSystem, возвращает объект типа HadoopIgfsSecondaryFileSystemPositionedReadable при вызове их метода " open " (путем передачи класса IgFs * 100 * * *)
.предлагает метод "
read ", но требует подробных сведений о том, где находятся данные, предназначенные для чтения, такие как позиция входного потока.
/**
* Read up to the specified number of bytes, from a given position within a file, and return the number of bytes
* read.
*
* @param pos Position in the input stream to seek.
* @param buf Buffer into which data is read.
* @param off Offset in the buffer from which stream data should be written.
* @param len The number of bytes to read.
* @return Total number of bytes read into the buffer, or -1 if there is no more data (EOF).
* @throws IOException In case of any exception.
*/
public int read(long pos, byte[] buf, int off, int len) throws IOException;
Как определить эти детали перед вызовом метода read ?
Я довольно новичок в этих платформах, и, возможно, существует другой способ получения InputStream на основе IgfsPath, указывающего на файл, хранящийся в файловой системе Hadoop?
Я пытаюсь достичьчто описано здесь: https://apacheignite -fs.readme.io / docs / second-file-system
Заранее благодарен за любую подсказку!