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'
网友评论