80
hbase>count 't1'
8.describe:显示表的相关信息
比如,可以使用如下命令显示表t1的信息。
hbase>describe 't1'
9.enable/disable:使表有效或无效
该命令比较简单,这里不做具体说明。
10.delete:删除指定单元格的数据
删除表t1、行r1、列c1、时间戳为ts1上的数据,命令如下。
hbase>delete 't1', 'r1', 'c1', ts1
11.drop:删除表
该命令比较简单,这里不做具体说明。需要指出的是,删除某个表之前,必须先使该表无效。
12.exists:判断表是否存在
该命令比较简单,这里不做具体说明。
13.truncate:使表无效,删除该表,然后重新建立表
该命令比较简单,这里不做具体说明。
14.exit:退出HBase Shell
该命令比较简单,这里不做具体说明。
15.shutdown:关闭HBase集
该命令比较简单,这里不做具体说明。
16.version:输出HBase版本信息
该命令比较简单,这里不做具体说明。
17.status:输出HBase集状态信息
可以通过summary、simple或者detailed这3个参数指定输出信息的详细程度。
输出集详细状态信息,命令如下:
hbase>status 'detailed'
4.6.2HBase常用的Java API及应用实例
现在介绍与HBase数据存储管理相关的Java API(HBase版本为  1.1.6),主要包括HBaseConfiguration、HTableDescriptor、HColumnDescriptor、Put、Get、ResultScanner、Result、Scan。下面先介绍这些类的功能与常用方法,然后给出具体的编程实例,从而有助于大家更好地了解这些类的使用。
1.HBase常用Java API
(1)org.apache.hadoop.hbase.client.Admin
Admin为Java接口类型,不可以直接用该接口实例化一个对象,而是必须调用Admin()方法,返回一个Admin的子对象,然后用这个Admin接口来操作返回的子对象方法。该接口用于管理HBase数据库的表信息,包括创建或删除表、列出表项、使表有效或无效、添加或删除表的列族成员、检查HBase的运行状态等,主要方法见表4-8。
81 表4-8 Admin 接口的主要方法 返回值
方法 void
addColumn(TableName tableName, HColumnDescriptor columnFamily)
向一个已存在的表添加列 void
closeRegion(byte[] regionName, String serverName)  关闭Region void
createTable(HTableDescriptor desc)  创建表 void
deleteTable(TableName tableName)  删除表 void
disableTable(TableName tableName)  使表无效 void
enableTable(TableName tableName)  使表有效 boolean
tableExists(TableName tableName) 检查表是否存在 HTableDescriptor
listTables() 列出所有的表项 void
abort(String why, Throwable e)  终止服务器或客户端 boolean balancer()
调用balancer 进行负载均衡
(2)org.apache.hadoop.hbase.HBaseConfiguration
该类用于管理HBase 的配置信息,其主要方法见表4-9。
表4-9 HBaseConfiguration 类的主要方法
返回值
方法
static
org.f.Configuration
create()  使用默认的HBase 配置文件创建Configuration static
org.f.Configuration
addHBaseResources(org.f.Configuration conf) 向当前Configuration 添加参数conf 中的配置信息 static void merge(org.f.Configuration destConf, org.apache.hadoop. conf.Configuration srcConf)
合并两个Configuration
(3)org.apache.hadoop.hbase.client.Table
drop table if exists admin
Table 是Java 接口类型,不可以用Table 接口直接实例化一个对象,而是必须调用Table()返回Table 的一个子对象,然后再调用返回的子对象的成员方法。这个接口用于与HBase 进行通信。如果多个线程对一个Table 接口子对象进行put 或者delete 操作的话,则写缓冲器可能会崩溃。因此,在多线程环境下,建议使用HTablePool 。Table 接口的主要方法见表4-10。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。