DML命令——put
插入/更新数据【某一行的某一列】(如果不存在,就插入,如果存在就更新)
put NS名称:表的名称,'Rowkey','列族:列','值'
功能及优点
==功能==:插入 / 更新数据【某一行的某一列】
- SQL
- insert:用于插入一条新的数据
- update:用于更新一条数据
- replace:插入更新命令,如果不存在就插入,如果存在就更新
- 原理:先做判断,如果不存在,就直接插入,如果存在,就删除再插入
- Hbase:put
- 等同于replace
DML命令——get(get 表名,rowkey,[列族,列])
##功能及优点缺点
- 注意:==缺点:get命令最多只能返回一个rowkey的数据==,根据Rowkey进行检索数据
- Rowkey作为Hbase的唯一索引,按照rowkey是走索引的
- ==优点:Get是Hbase中查询数据最快的方式==
DML命令——scan
scan 'tbname',{Filter(过滤器)}
scan 'itcast:t2'
#rowkey前缀过滤器
scan 'itcast:t2', {ROWPREFIXFILTER => '2021'}
scan 'itcast:t2', {ROWPREFIXFILTER => '202101'}
#rowkey范围过滤器
#STARTROW:从某个rowkey开始,包含,闭区间
#STOPROW:到某个rowkey结束,不包含,开区间
scan 'itcast:t2',{STARTROW=>'20210101_000'}
scan 'itcast:t2',{STARTROW=>'20210201_001'}
scan 'itcast:t2',{STARTROW=>'20210101_000',STOPROW=>'20210201_001'}
scan 'itcast:t2',{STARTROW=>'20210201_001',STOPROW=>'20210301_007'}
|- 在Hbase数据检索,==尽量走索引查询:按照Rowkey条件查询==
- 尽量避免走全表扫描
- 索引查询:有一本新华字典,这本字典可以根据拼音检索,找一个字,先找目录,找字
- 全表扫描:有一本新华字典,这本字典没有检索目录,找一个字,一页一页找
- ==Hbase所有Rowkey的查询都是前缀匹配==
DML命令——incr
功能:功能:一般用于自动计数的,不用记住上一次的值,直接做自增
语法;、①incr '表名','rowkey','列族:列'
②get_counter '表名','rowkey','列族:列'
DML命令——count(比MapReduce快多了)
功能:统计rowkey的行数
count '表名'