更新时间:2024-08-03 GMT+08:00

HBase HFS Java API接口介绍

使用条件

集群版本小于MRS 3.x。

接口介绍

主要类说明:

接口org.apache.hadoop.hbase.filestream.client.FSTableInterface常用接口说明:

方法

说明

void put(FSPut fsPut)

向HFS表中插入数据

void put(List<FSPut> fsPuts)

向HFS表中批量插入数据

FSResult get(FSGet fsGet)

从HFS表中读取数据

FSResult[] get(List<FSGet> fsGets)

从HFS表中读取多行数据

void delete(FSDelete fsDelete)

从HFS表中删除数据

void delete(List<FSDelete> fsDeletes)

从HFS表中删除多行数据

void close()

关闭表对象

org.apache.hadoop.hbase.filestream.client.FSTable是org.apache.hadoop.hbase.filestream.client.FSTableInterface接口的实现类。

org.apache.hadoop.hbase.filestream.client.FSHColumnDescriptor继承自org.apache.hadoop.hbase.HColumnDescriptor,新增如下接口:

方法

说明

public void setFileColumn()

设置这个列族为存储文件的列族。

public void setFileThreshold(int fileThreshold)

设置存储文件大小的阈值。

org.apache.hadoop.hbase.filestream.client.FSTableDescriptor继承自org.apache.hadoop.hbase.HTableDescriptor,没有新增接口,但是如果要使用JAVA接口创建HFS表来存储文件,必须使用该类。

org.apache.hadoop.hbase.filestream.client.FSPut继承自org.apache.hadoop.hbase.Put,新增如下接口:

方法

说明

public FSPut(byte[] row)

构造函数。通过rowkey来构造对象。

public FSPut(byte[] row, long timestamp)

构造函数。通过rowkey和时间戳来构造对象。

public void addFile(String name, byte[] value)

向HFS表中的存储文件的列族中插入一个文件,以name为列名,value为文件内容。

public void addFile(String name, byte[] value, long ts)

向HFS表中的存储文件的列族中插入一个文件,以name为列名,value为文件内容,ts为指定的时间戳。

public void addFile(String name, InputStream inputStream)

向HFS表中的存储文件的列族中插入一个文件,以name为列名,inputStream为文件的输入流对象。

输入流对象需要调用者自行关闭。

public void addFile(String name, InputStream inputStream, long ts)

向HFS表中的存储文件的列族中插入一个文件,以name为列名,inputStream为文件的输入流对象,ts为指定的时间戳。

输入流对象需要调用者自行关闭。

org.apache.hadoop.hbase.filestream.client.FSGet继承自org.apache.hadoop.hbase.Get,新增如下接口

方法

说明

public FSGet(byte[] row)

构造函数。根据rowkey构造对象。

public void addFile(String fileName)

指定需要返回的文件。

public void addFiles(List<String> fileNames)

指定需要返回的多个文件。

org.apache.hadoop.hbase.filestream.client.FSResult继承自org.apache.hadoop.hbase.Result,新增如下接口:

方法

说明

public FSFile getFile(String fileName)

从查询结果中返回指定文件名的FSFile文件对象。

org.apache.hadoop.hbase.filestream.client.FSFile接口:

方法

说明

public InputStream createInputStream()

从FSFile对象中获取文件的输入流对象。