【HDFS】读数据ReaderStrategy类

2024-01-08 19:04:57

HDFS客户端读数据时,都是通过ReaderStrategy接口的方法去读的。
这个ReaderStrategy接口的目标就是:封装不同的可能的读的实现,让调用者对读策略无感知(strategy-agnostic)。

ReaderStrategy接口概览

ReaderStrategy接口定义了如下几个方法:

方法 描述
ByteBuffer getReadBuffer() 获取要把数据读到的Buffer
int getTargetLength() 获取要读的目标长度,即要读多少个字节的数据
int readFromBlock(BlockReader blockReader) 使用block reader从一个block里读
int readFromBlock(BlockReader blockReader, int length) 同上,额外增加了一个希望读的字节数length参数
int readFromBuffer(ByteBuffer src) 从src buffer里读或者copy
int readFromBuffer(ByteBuffer src, int length) 同上,也是额外增了一个希望读的字节数参数

ReaderStrategy接口有两个实现类:

  1. ByteArray

文章来源:https://blog.csdn.net/yexiguafu/article/details/134172179
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。