Hbase 简明教程
HBase - Client API
本章介绍 HBase 的 Java 客户端 API,用于对 HBase 表执行 CRUD 操作。HBase 用 Java 编写,并有一个 Java Native API。因此,它提供了对数据操作语言 (Data Manipulation Language, DML) 的编程访问。
Class HTable
HTable 是 HBase 内部类,表示 HBase 表。它是用于与单个 HBase 表通信的表的实现。此类属于 org.apache.hadoop.hbase.client 类。
Constructors
S.No. |
Constructors and Description |
1 |
HTable() |
2 |
HTable(TableName tableName, ClusterConnection connection, ExecutorService pool) 使用此构造函数,您可以创建对象以访问 HBase 表。 |
Methods and description
S.No. |
Methods and Description |
1 |
void close() 释放 HTable 的所有资源。 |
2 |
void delete(Delete delete) 删除指定的单元格/行。 |
3 |
boolean exists(Get get) 使用此方法,您可以测试 Get 指定的表中是否存在列。 |
4 |
Result get(Get get) 从给定行中检索特定单元格。 |
5 |
org.apache.hadoop.conf.Configuration getConfiguration() 返回此实例使用的 Configuration 对象。 |
6 |
TableName getName() 返回此表的表名实例。 |
7 |
HTableDescriptor getTableDescriptor() 返回此表的表描述符。 |
8 |
byte[] getTableName() 返回此表的名称。 |
9 |
void put(Put put) 使用此方法,您可以向表中插入数据。 |
Class Put
此类用于对单个行执行 Put 操作。它属于 org.apache.hadoop.hbase.client 包。
Constructors
S.No. |
Constructors and Description |
1 |
Put(byte[] row) 使用此构造函数,您可以为指定行创建一个 Put 操作。 |
2 |
Put(byte[] rowArray, int rowOffset, int rowLength) 使用此构造函数,您可以对传入的行键进行复制以供本地保存。 |
3 |
Put(byte[] rowArray, int rowOffset, int rowLength, long ts) 使用此构造函数,您可以对传入行键进行复制以供本地保存。 |
4 |
Put(byte[] row, long ts) 使用此构造函数,我们可以为指定行创建一个 Put 操作,使用指定的时间戳。 |
Methods
S.No. |
Methods and Description |
1 |
Put add(byte[] family, byte[] qualifier, byte[] value) 将指定的列和值添加到此 Put 操作中。 |
2 |
Put add(byte[] family, byte[] qualifier, long ts, byte[] value) 将指定的列和值(指定的时间戳为其版本)添加到此 Put 操作中。 |
3 |
Put add(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value) 将指定的列和值(指定的时间戳为其版本)添加到此 Put 操作中。 |
4 |
Put add(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value) 将指定的列和值(指定的时间戳为其版本)添加到此 Put 操作中。 |
Class Get
此类用于对单行执行 Get 操作。此类属于 org.apache.hadoop.hbase.client 包。
Class Delete
此类用于对单行执行 Delete 操作。要删除整行,请实例化一个 Delete 对象,其中包含要删除的行。此类属于 org.apache.hadoop.hbase.client 包。
Constructor
S.No. |
Constructor and Description |
1 |
Delete(byte[] row) 为指定行创建 Delete 操作。 |
2 |
Delete(byte[] rowArray, int rowOffset, int rowLength) 为指定行和时间戳创建 Delete 操作。 |
3 |
Delete(byte[] rowArray, int rowOffset, int rowLength, long ts) 为指定行和时间戳创建 Delete 操作。 |
4 |
Delete(byte[] row, long timestamp) 为指定行和时间戳创建 Delete 操作。 |
Methods
S.No. |
Methods and Description |
1 |
Delete addColumn(byte[] family, byte[] qualifier) 删除指定列的最新版本。 |
2 |
Delete addColumns(byte[] family, byte[] qualifier, long timestamp) 删除所有版本的时间戳小于或等于指定时间戳的指定列。 |
3 |
Delete addFamily(byte[] family) 删除指定族的所有列的所有版本。 |
4 |
Delete addFamily(byte[] family, long timestamp) 删除时间戳小于或等于指定时间戳的指定族的所有列。 |