Hbase[02]常用命令、DDL和DML练习

Hbase[02]常用命令、DDL和DML练习


准备环境

本次使用到的软件/工具如下

软件软件版本
VMwareVMware® Workstation 16 Pro
Xshell6

安装Hbase环境
详见链接:Hbase[01]安装Hbase

启动zookeeper、hdfs、hbase服务

xshell登录虚拟机

hbase shell

进入hbase

注意
hbase中:ctrl+backspace是向左删除字符
     backspace是向右删除字符

操作示例

查看帮助

help

help 'create'

help 'create_namespace'

查看namespace,类似于mysql的show databases;

list_namespace

新建工作空间
类似于mysql的新建database

create_namespace 'ns1'
list_namespace

新建表

create 'ns1:test01',{NAME=>'testinfo'}

查看表

list
list 'ns.*'

查看表结构

desc 'ns1:test01'

查询当前用户

whoami

插入/修改数据

help 'put'

put namespace名:表名,行名,列族:列名:列值

put 'ns1:test01', 'rk001', 'testinfo:name', 'zhangsan' 
put 'ns1:test01', 'rk001', 'testinfo:age', '20' 

查询数据
类似于msyql中的select * from 表名

scan 'ns1:test01' 

删除一行数据

deleteall 'ns1:test01', 'rk001'
scan 'ns1:test01'

创建员工表
查看表结构

create 'ns1:emp',{NAME=>'userinfo', VERSIONS=>'3'}
desc 'ns1:emp'

插入数据测试

put 'ns1:emp', 'enumber1', 'userinfo:name', 'zhangsan' 
put 'ns1:emp', 'enumber1', 'userinfo:age', '20' 
scan 'ns1:emp'
put 'ns1:emp', 'enumber1', 'userinfo:name', 'lisi' 
scan 'ns1:emp'

删除数据测试

delete 'ns1:emp', 'enumber1', 'userinfo:name'
scan 'ns1:emp'

按TIMERANGE(timestamp时间戳)查询行数据

get 'ns1:emp', 'enumber1', {TIMERANGE=>[0,1622463045784]}

0,1622463045784所查到的范围上限是1622463045783

get查询,按列名查询行数据

get 'ns1:emp', 'enumber1', 'userinfo:name'

scan扫描查询(逻辑删除的数据列也会显示,删除的列有type=DeleteColumn标记)
按行、VERSIONS

scan 'ns1:emp', {RAW=>true, VERSIONS=>3}

按列扫描查询

scan 'ns1:emp', {COLUMNS=>'userinfo'}
scan 'ns1:emp', {COLUMNS=>'userinfo:name'}

修改/添加列族

alter 'ns1:emp', {NAME=>'deptinfo'}

修改/添加列名会将已删除的数据删除,scan 'ns1:emp'扫描查询未删除的所有记录

测试录入多行数据

put 'ns1:emp', 'enumber1', 'deptinfo:dname', 'sale'
scan 'ns1:emp'

put 'ns1:emp', 'enumber1', 'deptinfo:age', '25'
scan 'ns1:emp'

put 'ns1:emp', 'enumber1', 'userinfo:name', 'zhangsan'
scan 'ns1:emp'
scan 'ns1:emp', {RAW=>true, VERSIONS=>3}

put 'ns1:emp', 'enumber2', 'userinfo:name', 'lisi'
put 'ns1:emp', 'enumber2', 'userinfo:age', '22'

put 'ns1:emp', 'enumber3', 'userinfo:name', 'lisi3'
put 'ns1:emp', 'enumber4', 'userinfo:name', 'lisi4'

统计行数

count 'ns1:emp'

自增式插入数据(String类型显示乱码,不会影响自增逻辑)

create 'ns1:test02',{NAME=>'testinfo'}
incr 'ns1:test02', 'class1', 'testinfo:id'
scan 'ns1:test02'
incr 'ns1:test02', 'class1', 'testinfo:id'
scan 'ns1:test02'

分页扫描,3行一页,起始行为enumber1

scan 'ns1:emp', {COLUMNS=>['userinfo'], LIMIT=>3, STARTROW=> 'enumber1'}

删除表
删除表前需先将表置为无效

disable 'ns1:test01'
drop 'ns1:test01'

判断表是否存在

exists 'ns1:test01'

删除命名空间(namespace)
需要先清空命名空间(删除命名空间中的所有表)

disable 'ns1:emp'
drop 'ns1:emp'

drop_namespace 'ns1'

以上就是本期总结的全部内容,愿大家相互学习,共同进步!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值