put(Put put)
向表中添加值
用法示例:
HTable table = new HTable(conf, Bytes.toBytes(tablename));
ResultScanner scanner = table.getScanner(family); ---family指列族
?
Put
关系:org.apache.hadoop.hbase.client.Put
作用:用来对单个行执行添加操作
| 返回值 |
函数 |
描述 |
| Put |
add(byte[] family, byte[] qualifier, byte[] value) |
将指定的列和对应的值添加到 Put实例中 |
| Put |
add(byte[] family, byte[] qualifier, long ts, byte[] value) |
将指定的列和对应的值及 时间戳添加到Put实例中 |
| byte[] |
getRow() |
获取Put实例的行 |
| RowLock |
getRowLock() |
获取Put实例的行锁 |
| long |
getTimeStamp() |
获取Put实例的时间戳 |
| boolean |
isEmpty() |
检查familyMap是否为空 |
| Put |
setTimeStamp(long timeStamp) |
设置Put实例的时间戳 |
用法示例:
?
HTable table = new HTable(conf,Bytes.toBytes(tablename));
Put p = new Put(brow);//为指定行创建一个Put操作
p.add(family,qualifier,value);
table.put(p);
?
Get
关系:org.apache.hadoop.hbase.client.Get
作用:用来获取单个行的相关信息
| 返回值 |
函数 |
描述 |
| Get |
addColumn(byte[] family, byte[] qualifier) |
获取指定列族和列修饰符对应的列 |
| Get |
addFamily(byte[] family) |
通过指定的列族获取其对应列的所有列 |
| Get |
setTimeRange(long minStamp,long maxStamp) |
获取指定取件的列的版本号 |
| Get |
setFilter(Filter filter) |
当执行Get操作时设置服务器端的过滤器 |
用法示例:
?
HTable table = new HTable(conf, Bytes.toBytes(tablename));
Get g = new Get(Bytes.toBytes(row));
?
Result
关系:org.apache.hadoop.hbase.client.Result
作用:存储Get或者Scan操作后获取表的单行值。使用此类提供的方法可以直接获取值或者各种Map结构(key-value对)
| 返回值 |
函数 |
描述 |
| boolean |
containsColumn(byte[] family, byte[] qualifier) |
检查指定的列是否存在 |
| NavigableMap
|
getFamilyMap(byte[] family) |
获取对应列族所包含的 修饰符与值的键值对 |
| byte[] |
getValue(byte[] family, byte[] qualifier) |
获取对应列的最新值 |
?
实例:
Htable table = new Htable(conf,Bytes.toBytes(tablename));
Get g = new Get(Bytes.toBytes(row));
Result rowResult = table.get(g);
Bytes[] ret = rowResult.getValue();
?
ResultScanner
关系:Interface
作用:客户端获取值的接口
| 返回值 |
函数 |
描述 |
| void |
close() |
关闭scanner并释放分配给它的资源 |
| Result |
next() |
获取下一行的值 |
?
实例:
ResultScanner scanner = table.getScanner(Bytes.toBytes(family));
for (Result rowResult:sanner)
{
Bytes[] str =rowResult.getValue(family,column);
}
综合以上,一个例子如下:
package com.dream.hbase;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseTest {
private HBaseAdminadmin = null;
// 定义配置对象HBaseConfiguration
privateHBaseConfiguration cfg = null;
private staticConfiguration conf = null;
static {
conf =HBaseConfiguration.create();