HBase Shell 基本操作
---------------------------------------------------------------------------------------------------

1、连接 HBase
    hbase shell          # 命令
    hbase(main):001:0>   # 提示符

2、查看帮助
    help                 # 直接回车便可显示相应的帮助信息

3、创建表
    create 'test', 'cf'  # 创建表时,你需要指定表名与列族名(ColumnFamily name)
    例中的'test'是表名,'cf'是列族名
    表名与列族名都要用引号(单双都行),因为HBase操作的都字符串

4、列出表信息
    list 'test'        # 列出表的摘要信息
    describe 'test'    # 列出表的详细信息,表的结构

5、写入数据到表中
    put 'test', 'row1', 'cf:a', 'value1'
    put 'test', 'row2', 'cf:b', 'value2'
    put 'test', 'row3', 'cf:c', 'value3'
    
    在这里,我们插入三个值,一次一个。
    第一个插入在第1行,列cf:a,值为value1。
    在 HBase中的列首先是列族前缀,在本例中是cf,然后是冒号,再然后是列限定符后缀,在本例中是a

6、一次扫描表中的所有数据
    scan 'test'  # 从Hbase获取数据的方法之一是扫描。使用扫描命令扫描表以获取数据,您可以限制扫描,但这里所有数据都被获取

7、获取单行数据
     get 'test', 'row1'  # 要一次获取一行数据,请使用get命令

8、禁用(关闭)表
    disable 'test'  # 如果要删除表或更改其设置,以及在其他情况下,则需要首先使用禁用命令禁用表。您可以使用Enable命令重新启用它

9、删除表
     drop 'test'    # 使用drop命令删除表,删除表前要先disable

10、退出HBase Shell
    quit    # 若要退出hbase shell并断开与集群的连接,请使用“quit”命令,而hbase仍在后台运行。

11、停止HBase
    stop-hbase.sh    # 发出命令后,进程较长才能关闭,使用jps确保HMaster和HRegionServer进程已关闭

12、更新指定字段的数据(操作与插入数据一样,但不是覆盖原数据,而是以不同版本存在)
    put 'test', 'row1', 'cf:a', 'Nick'
    put 'test', 'row1', 'cf:b', '100'

13、变更信息
    alter 'test',{NAME=>'cf',VERSIONS=>3}    # 将cf列族中的数据存放3个版本,当然这里设置成几,在查看时就最多可以查看到几个版本
    get 'test','row1',{NAME=>'cf:name',VERSIONS=>3}  # 获取3个版本的数据,当然这里设置成几,就最多能获取到几个版本的数据
    注:到底到获取到几个版本的数据,是由三个因素共同决定的:一是数据修改的次数、二是设置存放的版本数、三是想查看的版本数(取最小值)

14、统计表数据行数
    count 'test'

15、删除表中数据
    deleteall 'test', 'row1'        # 删除某rowkey的全部数据
    delete 'test', 'row2', 'cf:b'   # 删除某rowkey的某一列数据

16、清空表数据
    truncate 'test'   # 清空表数据前要先disable,然后才truncate