hdfsRead()
Supported by libMapRClient for hadoop-0.20.2 and hadoop-2.x
Reads data from the current offset in an open file. After the read, the current offset is incremented by the number of bytes read.
To read from a specific offset, first call
hdfsSeek()
to move to that offset in the file. Then,
call hdfsRead()
.
Alternatively, call hdfsPread()
,
specifying an offset in the call. hdfsPread()
does not
increment the current offset in the file. The offset that you
specify in the call is used only for the read.
Signature
tSize hdfsRead(hdfsFS fs, hdfsFile file, void* buffer, tSize length)
Parameters
Parameter | Description |
---|---|
fs | The filesystem handle. Filesystem handle can be
obtained using one of the hdfsConnect() APIs. |
file | The file handle. Obtain this handle with one of
the hdfsOpenFile() APIs. |
buffer | The buffer to copy bytes into during the read. |
length | The length of the buffer. The maximum length of
the buffer is the maximum size of tSize . |
Returned Value
Returns the number of bytes actually read, which can be less than than the length of the buffer if the end of the file is reached during the read. Returns -1 on error.
Check errno for error codes and meanings.