76
hbase> alter 't1', METHOD => 'table_att', MAX_FILESIZE => '134217728'
上面命令中,“134217728”表示字节数,128MB等于134217728字节。
7.count:统计表中的行数
该命令比较简单,这里不做具体说明。
8.deccribe:显示表的相关信息
该命令比较简单,这里不做具体说明。
9.enable/disable:使表有效或无效
该命令比较简单,这里不做具体说明。
10.delete:删除指定单元格的数据
删除表t1,行r1,列c1,时间戳为ts1上的数据,命令如下。
drop table if exists adminhbase> 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.2 HBase常用的Java API及应用实例
现在介绍与HBase数据存储管理相关的Java API(HBase版本为0.94.25),主要包括HBaseAdmin、HBaseConfiguration、HTable、HTableDescriptor、HColumnDescriptor、Put、Get、ResultScanner、Result、Scan。下面先介绍这些类的功能与常用方法,然后给出具体的编程实例,从而有助于大家更好地了解这些类的使用。
1.HBase常用的Java API
(1)org.apache.hadoop.hbase.client.HBaseAdmin
该类用于管理HBase数据库的表信息,包括创建或删除表、列出表项、使表有效或无效、添加或删除表的列族成员、检查HBase的运行状态等,其主要方法如表4-8所示。
77 表4-8 HBaseAdmin 类的主要方法 返回值
方法 void
addColumn(String tableName, HColumnDescriptor column)  向一个已存在的表添加列 static void
checkHBaseAvailable(HBaseConfiguration conf)  检查HBase 是否处于运行状态 void
closeRegion(String regionName, String serverName)  关闭Region void
createTable(HTableDescriptor desc)  创建表 void
deleteTable(String tableName)  删除表 void
disableTable(String tableName)  使表无效 void
enableTable(String tableName)  使表有效 boolean
tableExists(String 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.f.Configuration srcConf)
合并两个Configuration
(3)org.apache.hadoop.hbase.client.HTable
该类用于与HBase 进行通信。如果多个线程对一个HTable 对象进行put 或者delete 操作的话,则写缓冲器可能会崩溃。因此,在多线程环境下,建议使用HTablePool 。HTable 类的主要方法如表4-10所示。
表4-10 HTable 类的主要方法
返回值
方法 void close()
释放所有资源,根据缓冲区中数据的变化更新HTable