Hbase基础命令

Hbase基础命令

1. Namespace

1.1 查看Namespace

list_namespace

1.2 创建一个Namespace

create_namespace 'heima'
create_namespace 'itcast'

1.3 删除Namespace

drop_namespace 'itcast'
drop_namespace 'heima'

2. 表操作

2.1 创建表格

#如果需要更改列族的属性,使用这种写法
create 't1',{NAME=>'cf1'},{NAME=>'cf2',VERSIONS => 3}
#如果不需要更改列族属性
create 'itcast:t2','cf1','cf2','cf3'
create 't1',{NAME=>'cf1'},{NAME=>'cf2'}{NAME=>'cf3'}

备注:命名空间为itcast,表格名字为t1,t2。列族为cf1,cf2,cf3。

2.2 查看表格的详情

desc 't1'

2.3 删除表

需要先禁用表,然后再删除。

disable 't1'
drop 't1'

2.4 判断表是否存在

exists 't1'

3. 数据操作

3.1 插入数据

建表

create 'itcast:t2','cf1',{NAME=>'cf3',VERSIONS => 3}

put插入数据

put 'itcast:t2','20210201_001','cf1:name','laoda'
put 'itcast:t2','20210201_001','cf1:age',18
put 'itcast:t2','20210201_001','cf3:phone','110'
put 'itcast:t2','20210201_001','cf3:addr','shanghai'

put 'itcast:t2','20210101_000','cf1:name','laoer'
put 'itcast:t2','20210101_000','cf3:addr','bejing'

查看结果

scan 'itcast:t2',{VERSIONS=>10}

3.2 获取数据

使用get关键字获取数据,基础语法:

get 'ns:tbname','rowkey',[cf:col]

示例

get 'itcast:t2','20210201_001'
get 'itcast:t2','20210201_001','cf1'
get 'itcast:t2','20210201_001','cf1:name'

3.3 删除数据

#删除某列的数据
delete     tbname,rowkey,cf:col
#删除某个rowkey数据
deleteall  tbname,rowkey
#清空所有数据:生产环境不建议使用,有问题,建议删表重建
truncate   tbname

示例

#删除某列的数据
delete     tbname,rowkey,cf:col
#删除某个rowkey数据
deleteall  tbname,rowkey
#清空所有数据:生产环境不建议使用,有问题,建议删表重建
truncate   tbname

3.4 scan过滤查询

#读取整张表的所有数据
scan 'tbname'//一般不用
#根据条件查询:工作中主要使用的场景
scan 'tbname',{Filter} //用到最多

插入模拟数据

put 'itcast:t2','20210201_001','cf1:name','laoda'
put 'itcast:t2','20210201_001','cf1:age',18
put 'itcast:t2','20210201_001','cf3:phone','110'
put 'itcast:t2','20210201_001','cf3:addr','shanghai'
put 'itcast:t2','20210201_001','cf1:id','001'

put 'itcast:t2','20210101_000','cf1:name','laoer'
put 'itcast:t2','20210101_000','cf3:addr','bejing'

put 'itcast:t2','20210901_007','cf1:name','laosan'
put 'itcast:t2','20210901_007','cf3:addr','bejing'

put 'itcast:t2','20200101_004','cf1:name','laosi'
put 'itcast:t2','20200101_004','cf3:addr','bejing'

put 'itcast:t2','20201201_005','cf1:name','laowu'
put 'itcast:t2','20201201_005','cf3:addr','bejing'

过滤查询

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'}

3.5 incr

实施

  • incr:自动计数命令

  • 功能:一般用于自动计数的,不用记住上一次的值,直接做自增

    • 需求:一般用于做数据的计数

    • 与Put区别

      • put:需要记住上一次的值是什么

      • incr:不需要知道上一次的值是什么,自动计数

语法

incr  '表名''rowkey','列族:列'
get_counter '表名''rowkey','列族:列'

示例

create 'NEWS_VISIT_CNT', 'C1'
incr 'NEWS_VISIT_CNT','20210101_001','C1:CNT',12
get_counter 'NEWS_VISIT_CNT','20210101_001','C1:CNT'
incr 'NEWS_VISIT_CNT','20210101_001','C1:CNT'

3.6 计数 count

count  '表名'

示例

count 'itcast:t2'

你可能感兴趣的:(hbase,数学建模,数据库)