HBase 的命令行工具,最简略的接口,适宜 HBase 治理应用,能够应用 shell 命令来查问 HBase 中数据的详细情况。
装置完 HBase 之后,启动 hadoop 集群 (利用 hdfs 存储),启动 zookeeper,应用 start-hbase.sh 命令开启 hbase 服务,最初在 shell 中执行 hbase shell 就能够进入命令行界面 Habse shell 的 help 对语法的介绍很全,hbase shell 的操作分为 10 类,j 本文只介绍前 4 类罕用的,别离是:gerneral,ddl,namespace,dml1. Gerneralstatus:查问以后服务器状态。Version: 查看以后版本
Whoami: 查问以后 hbase 用户
Table_help: 表的援用,通过获取一张表的援用来对这张表进行增加删除数据等等操作,当初不举荐应用 2. DDLCreate: 创立一个表 ### 创立一个表名为 qianfeng,cf 为列族 create ‘qianfeng’,’cf’
list:列出 HBase 的所有表
· disable:禁用一张表· ## 禁用表‘qianfeng’· disable‘qianfeng’· is_disabled:表是否被禁用· ## 验证表‘qianfeng’是否被禁用· is_disabled‘qianfeng’
· enable: 启用一张表· ## 启用表‘qianfeng’· enable‘qianfeng’· is_enabled:表是否被启用· ## 验证表‘qianfeng’是否被启用· is_enabled‘qianfeng’
· describe:查看表的形容· ## 查看‘qianfeng’表的形容信息· describe‘qianfeng’
· alter:批改表的构造· ## 给表‘qianfeng’退出一个列族‘cf1’· alter‘qianfeng’,’cf1’
· exists:验证表是否存在· ## 验证表‘qianfeng’是否存在· exists‘qianfeng’
· drop:删除表,表需先禁用,而后能力删除· ## 删除表‘qianfeng’· disable‘qianfeng’· drop‘qianfeng’
· disable_all:禁用多个表 drop_all:删除多个表,表需先禁用,而后能力删除 3. Namespacecreate_namespace: 创立命名空间,相当于关系型数据库里创立一个数据库 ## 创立一个命名空间名为‘qf’, 并增加属性 create_namespace‘qf’, {‘PROPERTY_NAME’=>’PROPERTY_VALUE’}alter_namespace:批改,增加,删除命名空间的属性 ## 设置命名空间 qf 的属性 alter_namespace ‘qf’, {METHOD => ‘set’, ‘PROPERTY_NAME’ => ‘PROPERTY_VALUE’}## 删除命名空间 qf 的属性 alter_namespace ‘qf’, {METHOD => ‘unset’, NAME=>’PROPERTY_NAME’}describe_namespace:获取命名空间的形容 ## 获取命名空间‘qf’的形容信息 describe_namespace‘qf’
drop_namespace:删除命名空间 ## 删除命名空间‘qf’drop_namespace‘qf’list_namespace:查看所有命名空间
list_namespace_tables:查看命名空间下的所有表 ## 查看命名空间‘ns1’下的所有表 list_namespace_tables‘ns1’
4.DML 先在命名空间‘qianfeng’(如果没有这个命名空间要先创立此命名空间) 下创立一张表 test, 列族为‘cf’作为测试用 create‘qianfeng:test’,’cf’put: 增加 cell(数据)# #向命名空间 qianfeng 下表 test 的 rowkey 为 r1 的列族下增加数据 put ‘qianfeng:test’,’r1′,’cf:uname’,’zhangsan’scan: 扫描全表 scan‘qianfeng:test’
get: 失去某一列或 cell 的数据。## 向命名空间 qianfeng 下表 test 的 rowkey 为 r1 的列族下增加数据 put ‘qianfeng:test’,’r1′,’cf:age’,’23’## 获取列族 cf 下 rowkey 为 r1 的所有数据 get‘qianfeng:test’,’r1’
获取列族 cf 下 rowkey 为 r1,列名为 uname 的数据 (获取一个 cell)get ‘qianfeng:test’,’r1′,’cf:uname’
truncate: 清空表,不必 disable (只是清空数据)## 清空表‘qianfeng:test’truncate‘qianfeng:test’查看‘qianfeng’下所有的表
以上为 hbase shell 脚本的根底操作,都应该熟练掌握。在把握 hbase shell 脚本的根底上学习 hbase 的 java api, 会显得事倍功半。