常见的hbase shell 操作

    技术2024-11-16  9

    1、创建表,需要创建表明,另外需要指定列簇(column family)。表名和列簇名都需要使用引号括起来。

    create 'stu','info'

    2、列出所有表,直接使用list。

    list

    如果需要查看某一个单独的表,类似mysql的desc,hbase里面是使用describe表示,可以简写为desc。 desc 'stu'

    hbase(main):046:0> desc 'stu'

    3、向表中加入数据。这里使用关键字put。

    put 'stu',1,'info:id',100

    4、修改表记录。

    put 'stu',1,'info:name','abc'

    5、查看表数据。可以使用scan扫描表中所有数据,也可以使用get获取单个的记录。

    scan 'stu'

    查看单个记录,指定行键(row key):

    get 'stu',1

    同时还可以指定具体的列名称:

    get 'stu',1,'info:id'

    6、删除表记录数据。不需要一个列,我们可以通过关键字delete来删除。

    delete 'stu',1,'info:name'

    7、清空表记录数据。把表中所有的记录全部清空使用关键字truncate,类似mysql的truncate stu,或者delete from stu不携带任何条件。

    truncate 'stu'

    8、删除表。连表也删除掉,使用关键字drop,但是不能直接drop,在drop之前需要先disable。

    disable 'stu' drop 'stu'

    9、添加某一列组 alter ‘stu’,‘office’ 10、count:统计行的数量 11、exists:测试表是否存在 12、exit:退出hbase shell 13、shutdown:关闭hbase集群(若不是在hbase shell下输入,则是关闭虚拟机命令) 14、version:返回hbase版本信息 15、打快照 snapshot 'sourceTableName','snapshotName' 16、恢复指定快照 restore_snapshot 'snapshotName' 在恢复快照之前需要先把原始表不可用 disable 'tableName’,恢复快照之后再将表可用 enable 'tableName'

    17、根据快照恢复一个新表 clone_snapshot 'snapshotName','tableName' 18、显示快照目录 list_snapshots 19、将A集群的快照数据迁移到B集群 ./hbase orgapache.hadoop.hbase.snapshot.ExportSnapshot -snapshot MySnapshot -copy -from hdfs://server2:50070 /hbase -copy -to hdfs://server1.50070/hbase -mappers 16 -band width 1024

    Processed: 0.024, SQL: 9