自学大数据第12天~Hbase
先留个问题~ERROR: KeeperErrorCode = ConnectionLoss for /hbase/master稍后解决找到了问题的根因:查看报错日志事关tmp文件夹的配置,所以去找一下hbase配置文件中关于这个文件夹的配置项我的策略是将这个配置项注销掉然后启动hbase,之后hmaster就成功启动了;接着shell命令进入hbase数据库可以通过shell操作habse的了;
先留个问题~ERROR: KeeperErrorCode = ConnectionLoss for /hbase/master
稍后解决
找到了问题的根因:
查看报错日志
事关tmp文件夹的配置,所以去找一下hbase配置文件中关于这个文件夹的配置项

我的策略是将这个配置项注销掉
然后启动hbase ,之后hmaster就成功启动了;

接着shell命令进入hbase数据库
bin/hbase shell

可以通过shell操作habse的了;
在hbase中创建表
create '表名' ,'列族1','列族2'....
创建表
create 'student','Sname','Ssex','Sage','Sdept','course'
创建结果如下:
因为hbase的表会有一个系统默认的属性作为行键,无需自行创建, 默认为put操作中表名后第一个数据;
查看表信息:
# describe '表名'
describe 'student'

添加数据
# put '表名' ,'行键' ,'列族' ,'值'
put 'student','96866','Sname','LiYing'
#为 96866 行下的course列族的math列添加了一个数据
put 'student','96866','course:math','80'

删除数据
# delete '表名' ,'行键值','列族'
delete 'student','96866','Ssex'
删除96866行下Ssex列的所有数据
deleteall '表名' ,'行键值'
deleteall 'student' ,'96866'

查看数据
上面用到了查看数据的命令
查看数据有两个命令
- get
get用于查看某一行的数据
#get '表名' ,'行键值'
get 'student' ,96866

- scan
scan 用于查看某个表的全部数据
# scan '表名'
scan 'student'

删除表
#drop '表名'
drop 'student'

直接删除表时会给一个提示:
所以删除表有两步
disable '表名'
drop '表名'

查询表历史数据
要查询表的历史数据,首先要在创建表的失手指定保存的版本数
- 创建要保存版本数的表
create 'teacher',{NAME=>'username',VERSIONS=>5}
上面的命令表示username列保存的版本数为5
- put 插入数据/当然也可以是更新数据
put 'teacher','91001','username','Mary'
put 'teacher','91001','username','Mary1'
put 'teacher','91001','username','Mary2'
put 'teacher','91001','username','Mary3'
put 'teacher','91001','username','Mary4'
put 'teacher','91001','username','Mary5'
- 查看数据

看以看到,默认会查到最新版本的数据;
当我们想要获取历史版本的数据时:
#get '表名' ,'行键',{COLUMN=>'列名',VERSIONS=>5}
get 'teacher' ,91001 ,{COLUMN=>'username',VERSIONS=>5}

可以看到每个数据都有一个时间戳;
退出hbase
exit

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)