HBase

作者: air_b10f | 来源:发表于2019-06-24 13:33 被阅读0次

1、启zookeeper、Hbase服务

启服务

2、进入hbase命令: hbase shell

进入

##list会显示hbase所有已经建立的表

##创建Hbase表

hbase(main):004:0>create 'ns1:student20190624', {NAME => 'f1', VERSIONS => 3}

##添加数据

hbase(main):004:0> put 'ns1:student20190624','200412169','f1:name','zhangsan'

0 row(s) in 0.2300 seconds

hbase(main):005:0> put 'ns1:student20190624','200412169','f1:gender','male'

0 row(s) in 0.0080 seconds

hbase(main):006:0> put 'ns1:student20190624','200412169','f1:age',30

0 row(s) in 0.0210 seconds

hbase(main):007:0> put 'ns1:student20190624','200412169','f1:class','0401'

插入及查询

##查询数据

hbase(main):008:0> scan 'ns1:student20190624'

hbase(main):008:0> get 'ns1:student20190624','200412169'

hbase(main):008:0> get 'ns1:student20190624','200412169',{COLUMN=>'f1:age',VERSIONS=>3}

修改及查询历史数据,保存versions数在建表时设置

##查看Hfile内容

查找文件位置

hadoop fs -ls /hbase/data/default

[root@teradata1 ~]# hadoop fs -ls /hbase/data/ns1/student20190624

查找文件位置

[root@teradata1 ~]# hbase hfile -p -f /hbase/data/ns1/student20190624/072250bae0389a535ed27713e4c86107/f1/61dbfccb53db46eeaa99d811004bf135

查看文件

##flush操作(通过程序向HBase插入数据之后,能够scan到数据,不过hdfs上确没有hfile,插入的数据在memstore(写缓存)中,还没有flush到hdfs上。手动flush。在hbase shell环境下,有一个flush命令,可以手动刷某张表)

hbase(main):008:0> flush 'ns1:student20190624'

##compact操作(多文件需要合并)

hbase(main):008:0> major_compact 'ns1:student20190624'

参考:https://www.cnblogs.com/quchunhui/p/7611565.html

相关文章

网友评论

      本文标题:HBase

      本文链接:https://www.haomeiwen.com/subject/prunqctx.html