转载请注明出处:
1.Hbase连接
1.1.进入hbase命令行
hbase shell # 或 bin/hbase shell
1.2.查看帮助
help
1.3.查看所有表
list
2.表操作
2.1.创建表
create 'user','basicinfo'
2.2.查看表结构
desc 'user'
3.新增
3.1.插入数据
# 语法为: put 表名,rowkey,列簇:列,值 #插入一条数据 put 'user','1001','basicinfo:name','roy' put 'user','1001','basicinfo:age',18 put 'user','1001','basicinfo:salary',10000 #插入第二条数据 put 'user','1002','basicinfo:name','sophia' put 'user','1002','basicinfo:sex','female' put 'user','1002','basicinfo:job','manager' #插入第三条数据 put 'user','1003','basicinfo:name','yula' put 'user','1003','basicinfo:school','phz school'
4.查询操作
hbase 中访问数据有两种基本的方式:
- 按指定 rowkey 获取数据:get 方法;
- 按指定条件获取数据:scan 方法
scan`可以设置 begin 和 end 参数来访问一个范围内所有的数据。get 本质上就是 begin 和 end 相等的一种特殊的 scan。
对于表名和列名必须使用单引号
1、HBase查询数据只能依据Rowkey来进行查询,而Rowkey是由客户 端直接指定的,所以在使用HBase时, Rowkey如何设计非常重要,要 带上重要的业务信息。
2、scan指令后面的查询条件,STARTROW和STOPROW是必须大写 的。查询的结果是左开右闭的。
4.1.查找单条记录
#可以查看所有列 get 'user','1001'
4.2.查找某一列的值
#查看指定列 get 'user','1001','basicinfo:name'
4.3.使用 scan 查找多条记录
#查询整表数据 scan 'user'
4.4.查询指定列簇的数据
scan 'user',{COLUMN=>'basicinfo'}
需要注意:COLUMN必須大写
4.5.查询指定列
scan 'user',{COLUMN=>'basicinfo:age'}
4.6.使用scan 进行区间查询
scan 'user',{STARTROW => '1001',STOPROW => '1002'}
4.7.limit 限制行数
scan 'user',{STARTROW => '1001',STOPROW => '1002',LIMIT=>1}
4.8.过滤器查询
scan 'user',FILTER=>"ValueFilter(=,'binary:18')" scan 'user', FILTER=>"ValueFilter(=,'substring:roy')" scan 'user', FILTER=>"ColumnPrefixFilter('age')"
4.9.查询表中的记录数
count 'user'
4.10.其他查询 可通过help进行查看
help 'get' help 'scan'
5.删除操作
5.1.刪除某一列
delete 'user','1002','basicinfo:sex'
5.2.刪除某一条数据
deleteall 'user','1003'
5.3.清空表数据
truncate 'user'
5.4.删除表之前需要disable表
disable 'user' drop 'user'
5.5.启用表
enable 'user'
5.6.检查表是否存在
exists 'user'
标签:总结,scan,查询,user,常用命令,put,Hbase,basicinfo,1001 From: https://www.cnblogs.com/zjdxr-up/p/17156706.html