- HBase 教程
- HBase - 首页
- HBase - 概述
- HBase - 架构
- HBase - 安装
- HBase - Shell
- HBase - 常用命令
- HBase - 管理员API
- HBase - 创建表
- HBase - 列出表
- HBase - 禁用表
- HBase - 启用表
- HBase - 描述和修改
- HBase - 是否存在
- HBase - 删除表
- HBase - 关闭
- HBase - 客户端API
- HBase - 创建数据
- HBase - 更新数据
- HBase - 读取数据
- HBase - 删除数据
- HBase - 扫描
- HBase - 计数和截断
- HBase - 安全性
- HBase 资源
- HBase - 常见问题解答
- HBase - 快速指南
- HBase - 有用资源
HBase - 客户端API
本章介绍用于对 HBase 表执行 **CRUD** 操作的 HBase Java 客户端 API。HBase是用Java编写的,并且拥有一个Java原生API。因此,它提供了对数据操作语言(DML)的编程访问。
HBase Configuration 类
将 HBase 配置文件添加到 Configuration。此类属于 **org.apache.hadoop.hbase** 包。
方法和描述
序号 | 方法和描述 |
---|---|
1 | static org.apache.hadoop.conf.Configuration create() 此方法使用 HBase 资源创建一个 Configuration。 |
HTable 类
HTable 是一个表示 HBase 表的 HBase 内部类。它是表的一个实现,用于与单个 HBase 表通信。此类属于 **org.apache.hadoop.hbase.client** 类。
构造函数
序号 | 构造函数和描述 |
---|---|
1 | HTable() |
2 | HTable(TableName tableName, ClusterConnection connection, ExecutorService pool) 使用此构造函数,您可以创建一个对象来访问 HBase 表。 |
方法和描述
序号 | 方法和描述 |
---|---|
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) 使用此方法,您可以将数据插入表中。 |
Put 类
此类用于对单个行执行 Put 操作。它属于 **org.apache.hadoop.hbase.client** 包。
构造函数
序号 | 构造函数和描述 |
---|---|
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 操作。 |
方法
序号 | 方法和描述 |
---|---|
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 操作。 |
Get 类
此类用于对单个行执行 Get 操作。此类属于 **org.apache.hadoop.hbase.client** 包。
构造函数
序号 | 构造函数和描述 |
---|---|
1 | Get(byte[] row) 使用此构造函数,您可以为指定的行创建一个 Get 操作。 |
2 | Get(Get get) |
方法
序号 | 方法和描述 |
---|---|
1 | Get addColumn(byte[] family, byte[] qualifier) 从具有指定限定符的特定族中检索列。 |
2 | Get addFamily(byte[] family) 从指定的族中检索所有列。 |
Delete 类
此类用于对单个行执行 Delete 操作。要删除整行,请使用要删除的行实例化 Delete 对象。此类属于 **org.apache.hadoop.hbase.client** 包。
构造函数
序号 | 构造函数和描述 |
---|---|
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 操作。 |
方法
序号 | 方法和描述 |
---|---|
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) 删除时间戳小于或等于指定时间戳的指定族的所有列。 |
Result 类
此类用于获取 Get 或 Scan 查询的单个行结果。
构造函数
序号 | 构造函数 |
---|---|
1 | Result() 使用此构造函数,您可以创建一个没有 KeyValue 负载的空 Result;如果您调用 raw Cells(),则返回 null。 |
方法
序号 | 方法和描述 |
---|---|
1 | byte[] getValue(byte[] family, byte[] qualifier) 此方法用于获取指定列的最新版本。 |
2 | byte[] getRow() 此方法用于检索与此 Result 创建的行对应的行键。 |