文章目录
1. 定义表
1.1 create 建表
create '表名','列族名'
create '表名',{NAME=>'列族名',VERSION=>'',BLOCKCACHE=>'',BLOOMFILTER=>'',COMPRESSION=>''},{NAME=>'',属性=>'属性值'}
1.2 Describe 查看表的属性
describe '表名'
1.3 Disable 停用表
Disable '表名'
HBase删除表之前,首先要将其停用(disable),然后才能执行删除操作
1.4 Exists查看表是否存在
Exists '表名'
1.5 alter 增/改一个列族
alter '表名','列族名'
alter'表名',{NAME='列族名',属性1=>属性值1,属性2=>属性值2},{NAME=>'列族名2',属性1=>属性值1,。。。}
如果是不存在的列族,就是添加,如果是已存在的列族,就是修改属性
Alter允许的列族级别属性
-
BLOOMFILTER
-
COMPRESSION
-
TTL
-
BLOCKSIZE
-
BLOCKCACH
Alter允许的表级别属性
-
MAX_FILESIZE
-
READONLY
-
MEMSTORE_FLUSHSIZE
-
PRIORITY
1.6 alter 删除列族
alter'表名','delete'=>'列族名'
2. 插入数据
2.1 put 插入数据
put'表名','行键名','列族名','列名'
2.2 Append 拼接数据
Append'表名','行键','列名','拼接值'
3. 查看数据
3.1 scan 命令
-
scan查看表中数据
scan 'tale_name'
-
scan 指定行键范围
scan 'table_name',{STARTROW=>'a1',ENDROW=>'a5'}
范围 左闭右开 [a1,a5)
-
scan 指定最大返回行数量
scan 'table_name',{LIMIT=>num}
-
scan 指定时间戳范围
scan 'table_name',{TIMERANGE=>[min,max]}
-
scan 查看指定列信息
scan 'table_name',{COLUMN=>[列族1:列名1,列族2:列名2,...]}
3.2 get 命令
get 查看表中单元格的数据
get 'table_name','rowkey_name',{COLUMN,VERSIONS,TIMERANGE,FILTER}
get 查看多列的数据
get 'table_name','rowkey_name',{COLUMN=>[列族1:列名1,列族2:列名2,...]}
3.3 删除数据
delete 删除表中的数据
delete 'table_name','rowkey_name',
deleteall 删除整行数据
4. HBase过滤器
4.1 RowFilter
包含字符串查找
查询表名为’test’,匹配出rowkey中含w1的数据。
scan'test',FILTER=>"RowFilter(=,'substring:w1')"
数值精确查找
查询表名为test,匹配出rowkey等于row1的数据。
可以使用所有比较运算符。(<,≤,=,≠,>,≥)
scan'test',FILTER=>"RowFilter(=,’binary:row1')"
4.2 FamilyFilter
查询表名为test,“列族名称”中匹配出含’cf’的数据。
scan'test',FILTER=>“FamilyFilter(=,'substring:cf')"
4.3 ValueFilter
查询表名为test,value含’Tom’的数据。
scan'test',FILTER=>"ValueFilter(=,'substring:Tom')"
4.4 PrefixFilter
查询表名为test,rowkey前缀中**含’ro’**的数据。
scan'test',FILTER=>"PrefixFilter('ro')"
4.5 多个列或多个查询条件
(1)多个列名
(2)多个过滤器可以用AND或者OR来连接
(3)设计好的rowkey
查询键值等于row1,且列族名称等于cf的列值
scan'test',{FILTER=>"RowFilter(=,'binary:row1') AND FamilyFilter(=,’binary:cf’)"}