HBase基本操作

2019-01-27

HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。

名称 命令表达式
查看存在哪些表 list
创建表 create ‘表名称’, ‘列名称1’,’列名称2’,’列名称N’
添加记录 put ‘表名称’, ‘行名称’, ‘列名称:’, ‘值’
查看记录 get ‘表名称’, ‘行名称’
查看表中的记录总数 count ‘表名称’
删除记录 delete ‘表名’ ,’行名称’ , ‘列名称’
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 disable ‘表名称’ 第二步 drop ‘表名称’
查看所有记录 scan “表名称”
查看某个表某个列中所有数据 scan “表名称” , [‘列名称:’]
更新记录 就是重写一遍进行覆盖

注意:Hbase 基于非行健值查询的唯一途径是通过带过滤器的扫描。(HBase不支持事务

-- 创建表
create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
-- 添加数据
put <table>,<rowkey>,<family:column>,<value>,<timestamp>
-- 查询某行记录
get <table>,<rowkey>,[<family:column>,....]
-- 扫描表
scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}
-- 扫描表t1的前5条数据
scan 't1',{LIMIT=>5}
--删除行中的某个列值,必须指定列名.
delete <table>, <rowkey>, <family:column> , <timestamp>
-- 删除行,可以不指定列名,删除整行数据.
deleteall <table>, <rowkey>, <family:column> , <timestamp>
-- 查询的是表名为testByCrq,过滤方式是通过value过滤,匹配出value含111的数据
scan 'testByCrq', FILTER=>"ValueFilter(=,'substring:111')"

获取记录方式

  • 通过get方式,指定rowkey获取唯一记录;
  • 通过scan方式,设置startRow和stopRow参数进行范围匹配;
  • 通过scan方式,全表扫描,并通过RowFilter过滤出数据;
  • 基本可归纳为顺序读和随机读。

参考文献

HBase shell 命令介绍
HBase Shell 常用操作
HBase常用Shell命令和基础开发
HBASE SHELL常用命令
Hbase Shell常用命令
在hbase shell中过滤器的简单使用