Hbase的DML命令

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  '表名'

在这里插入图片描述

Guess you like

Origin blog.csdn.net/qq_45769990/article/details/114949482