1.Hbase Shell 操作
出现的所有库,库名都指的是namespace,namespace名,二者相似但不可混为一谈!!!!!
不加(库名:)出现的表指的都是default库下的,各种语句中不加即在默认库下操作!!!!!!
1.老版本habse shell中ctrl+backspace删除东西
2.如果不小心输入了;后回车了,出现了*结尾的输入命令,可以输入两次 ‘ 退出此模式
常用指令总览
namespace(库)的操作
增
create_namespace '库名' 创建namespace
删
drop_namespace '库名' 删除namespace,删除前先清空
查
list_namespace 查看全部namespace
表的操作
增
create '库名:表名','列族1','列族2'... 创建表,列族可以有多个,最少一个
删
disable '库名:表名' 让表下线
drop '库名:表名' 删除表,删除之前要下线
truncate '库名:表名' 清空一个表
改
alter '库名:表名',{NAME=>'列族名',VERSIONS=>版本数} 修改列族的版本数,Hbase最大保留的
查
list 查看全部用户表,系统表看不到
describe '库名:表名' 查看单张表详细信息
数据操作---------一切增删改查都与时间戳有联系
增
put '库名:表名', 'row_key', '列族:列名', '值'[,时间戳] 增加一条数据,也可以修改用
删
delete '库名:表名', 'row_key', '列族:列名'[, 时间戳] 删除一条数据,命令行不能指定到列族,API可以 若有多个版本,命令行也会都删除掉,但API不会,无论多少版本都不会,且delete标记为column
deleteall '库名:表名','row_key'
删除一个rk下所有的数据,不管有多少版本都全部删除,实际上delete标记是一个个famliy标记删除的
改
put '库名:表名', 'row_key', '列族:列名', '值'[,时间戳] 修改用只需要相同rk,输入列名,改V即可
查
scan '库名:表名'[,{STARTROW=>'起始rk',STOPROW=>'结束rk'}]
不加参查看全表,加参类似where,左闭右开,即右面的范围不包括,若不写起始或结尾rk,则为∞
scan '库名:表名',{RAW=>true,VERSIONS=>版本数} 查看X个版本内所有的数据
get '库名:表名', 'row_key'[,'列族', '列族:列名'...] 类似where查询,可以直接写列族
get '库名:表名','row_key',{COLUMN=>'列族:列名',VERSION=>版本数}
获取版本数的版本的此列族列名下的value,会根据有几个版本返回,有几个版本可以用alter修改
刷写
flush '库名:表名' 将表中数据从内存刷写到磁盘
2.HDFS上的信息
region唯一表示
经过刷写(就是内存到磁盘的过程)后数据真正存储的地方



