HBase 命令简介

1. 进入HBase 的控制端(可以在任意一台机器上启动,只要其配置和HMaster 的配置一样): hbase shell

进入后,出现类似下面的提示符:   hbase(main):002:0>

2.  输入 help , 可以列出所有的命令。

 得到某个命令的详细用法: help "create"

注: 在 shell 中如果输错不能通过 ’Backspace‘ 撤消,需要同时按 ’Ctrl‘ 才可以

名称命令表达式
查看存在哪些表 list
创建表 create '表名称', '列簇名称1','列名称2','列名称3'
添加记录 put '表名称', 'row_key', '列名称1:列名称', '值'
查看记录 get '表名称', '行名称'
查看表中的记录总数 count '表名称'
删除记录 delete '表名' ,'行名称' , '列名称'
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称'
查看所有记录 scan "表名称"
查看某个表某个列中所有数据 scan "表名称" , ['列名称:']
查看表的信息 desc '表名'
更新记录 就是重写一遍进行覆盖

注意: 创建表的时候,可以只指定列簇名称,官方建议最多3个列簇。列名在添加记录的时候可以动态添加。

示例:创建表: create 'tablename', 'columnFamilyName'
   e.g.  create 'student', 'baseinfo'  -- 创建一张名为'student'的表,'baseinfo'是列族名, 一个列族包含多个列

插入数据:  put 'student', 'myrow-1', 'baseinfo:name', 'shj'   --'myrow-1' 是行键,全表唯一
         put 'student', 'myrow-2', 'baseinfo:name', 'Rose'
         put 'student', 'myrow-2', 'baseinfo:age', '18'
        
查询表记录:   scan 'student'
            get 'student', 'myrow-2'
            
删除某单元格:  delete 'student','myrow-2','baseinfo:age'

删除表:   disable 'student'  -- 需要先disable表
        drop 'student'

3. 创建一张表: create 't_student', 'cf1'

从下图中,我们可以看到在 HDFS 上,会在 /hbase/data/default/ (/hbase 是在配置文件里指定的)下面创建一个文件夹。

上面的一长串的字符的文件夹,对应 的就是这个 table 中的一个 Region

 4. 点击进入HDFS 中的那个文件夹后,里面有一个 cf1 的文件夹,这是我们创建表时定义的列簇的名称。

 5. 在 HBase shell 中往表里插入数据

   put 't_student', '007', 'cf1:name', 'bangde'

   此时,在 cf1 文件夹下还是看不到数据,因为数据是先存在 MemStore 中的,可以通过下面的命令,使其写到 HDFS

   flush 't_student'

 6. 再次插入一些数据,然后 flush,会看到 cf1 下会多出文件,而不是修改原来的文件。

7.  运行下面的命令,可以合并多个小文件。

   major_compact 't_student'

8. 退出 shell:   exit

9. 查看如下文件中的内容 。直接输入 hbase (bin 目录已加入到环境变量下), 会提示相关的命令。其中有个 hfile 的命令。 输入 hbase hfile,会得到 hfile 这个命令的帮助。最终可以知道查看文件中的记录的命令是:

    hbase hfile -f /hbase/data/default/t_student/b38eaa1dec1613777adb6086f22a83af/cf1/ec70debc257743849615b06561b6c389 -p

    

原文地址:https://www.cnblogs.com/langfanyun/p/10207372.html