【HBase基础教程】5、HBase API访问

开发环境


硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点)
软件环境:Java 1.7.0_45、Eclipse Juno Service Release 2、hadoop-1.2.1、hbase-0.94.20。

1、Hbase API介绍


1)几个相关类与HBase数据模型之间的对应关系

HbaseAdmin用于数据库的创建与删除,HbaseConfiguration用于数据库的配置,Htable用数据库表的相关操作,HtableDescriptor用于数据库表列族的相关操作,Put用于数据库表记录的添加,Get用户数据库表记录的获取,Scanner用于数据库表全表查询

hbase-api

2)HBaseConfiguration

类名:org.apache.hadoop.hbase.HBaseConfiguration
作用:对HBase进行配置
常用方法:void set(String name, String value),通过属性名来设置值。
用法示例:

Configuration conf = HBaseConfiguration.create();  
conf.set("hbase.zookeeper.quorum", "Master");  
3)HBaseAdmin

类名:org.apache.hadoop.hbase.client.HBaseAdmin
作用:提供了一个接口来管理HBase数据库的表信息。它提供的方法包括:创建表,删除表,列出表项,使表有效或无效,以及添加或删除表列族成员等。

hbase-HBaseAdmin

4)HTableDescriptor

类名:org.apache.hadoop.hbase.HTableDescriptor
作用:包含了表的名字极其对应表的列族。
常用方法:void addFamily(HcolumnDescriptor family) 添加一个列族。其详细用法如下所示,向tb_user表中添加了一个content列族。

HTableDescriptor tableDescriptor = new HTableDescriptor("tb_user");  
HColumnDescriptor col = new HColumnDescriptor("content:");  
tableDescriptor.addFamily(col);  
5)HColumnDescriptor

类名:org.apache.hadoop.hbase.HColumnDescriptor
作用:维护着关于列族的信息,例如版本号,压缩设置等。它通常在创建表或者为表添加列族的时候使用。列族被创建后不能直接修改,只能通过删除然后重新创建的方式。列族被删除的时候,列族里面的数据也会同时被删除。

6)HTable

类名:org.apache.hadoop.hbase.client.HTable
作用:可以用来和HBase表直接通信。此方法对于更新操作来说是非线程安全的。
用法示例:

HTable table = null;
ResultScanner rs = null;
try {
    Scan scan = new Scan(); 
    table = new HTable(conf, tableName);
    rs = table.getScanner(scan);
} catch (IOException e) {
    e.printStackTrace();
}

hbase-HTable

7) Put

类名:org.apache.hadoop.hbase.client.Put
作用:用来对单个行执行添加操作
用法示例:

HTable table = null;
try {
    table = new HTable(conf, tabelName);
    Put putRow1 = new Put(rowKey.getBytes());
    putRow1.add(family.getBytes(), qualifier.getBytes(),value.getBytes());
    table.put(putRow1);
    table.close();
} catch (IOException e) {
    e.printStackTrace();
}

hbase-Put

8)Get

类名:org.apache.hadoop.hbase.client.Get
作用:用来获取单个行的相关信息
用法示例:

Get query = new Get(rowKey.getBytes());
query.addColumn(Bytes.toBytes(family), By
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值