hbase命令行操作


1.进入命令行

hbase shell

2.基础命令


查看帮助信息
help
--查看版本信息
--version
--查看hbase集群状态
--status
--查看当前用户
--whoami


3.命名空间命令


=-查看所有命名空间
--list_namespace
--查询指定命名空间的表
--list_namespace_tables '命名空间名'
--创建命名空间
--create_namespace 'my_ns'

4.表操作命令


  4.1创建hbase表


--创建hbase表时需要指定一个至少列族,不需要指定列

--create 'hbase表名','列族名1','列族名2',...'列族名N'

 --如果希望指定命名空间创建hbase表  需要在表名前指定命名空间
 create 'my_ns:student','info'
--创建customer表 表中有base和order这两个列族
create 'customer','base','order'

  4.2列出所有表


    list
 --以上创建表的命令会将表创建在defalut命名空间
 


  4.3 禁用表和查询表是否被禁用


    --禁用表
    --disable '表名'
    --查询表是否被禁用
    is_disabled '表名'


  4.4删除hbase表


    --删除的表需要是禁用状态
    --drop '表名'
    

4.5启用表和查询表是否被启用


  --启用表
  --enable '表'
  --查询表是否被启用
  --is_enabled '表'


  4.6查询表的信息

--desc '表名'


4.7 修改表


  --使用alter命令可以修改已创建的hbase表信息


  4.7.1 修改列族的版本信息


  --如果默认情况下 列族中的VERSIONS=1 表示该列族下的所有列都只保留最新的数据
  如果希望将版本修改 可以执行以下命令
  --修改base列族 将版本改为3
  --alter 'customer',{NAME => 'base',VERSIONS => '1'}
  --修改hbase表中的列族信息时如果该表对应的列族数据比较多时修改所需要的时间会比较漫长


  4.7.2 增加表中列族


  alter 'customer','info'

  alter 'my_ns:student','father'

  alter 'my_ns:student','mother'


  4.7.3 删除表中列族


  alter 'customer',{NAME =>'order',METHOD=>'delete'}
  alter 'customer',{NAME =>'base',METHOD=>'delete'}

  --hbase表中至少有一个列族 如果需要删除表中唯一的列族 命令执行时会报错


  4.8验证表是否存在


  --exists '表名'
  exists 'customer'

  


  5.表中数据的操作


  5.1添加数据/修改数据


  --put '表名','Rowkey','列族:列名','列的值'

  put 'my_ns:student','s001','info:name','zhangsan'

  put 'my_ns:student','s001','father:name','zhangyi'

  put 'my_ns:student','s001_20240716','info:score','80'

  put 'my_ns:student','s001_20240717','info:score','98'

  put 'my_ns:student','s001','info:sex','man'

  put 'my_ns:student','s001','info:age','20'

--插入数据后,数据目前只存储在内存中,还没有写到hdfs,可以使用刷新命令强制写到hdfs

flush 'my_ns:student'

--强制刷新后,hdfs上出现强制写入的文件 但该文件是二进制文件 无法阅读

 

   可以使用hbase命令查看

hbase hfile -v -p -f /hbase/data/my_ns/student/35260ff00c11d8eea641112ed32edd04/info/e270edc77426417e97e84a52644c8804

--修改已有数据

put my_ns:student','s001','info:name','zhangsansan'

5.2 查看表中的数据

      --1.get '表名','Rowkey'

        get 'my_ns:student','s001'

        get 'my_ns:student','s001_20240716'

        --2.get '表名','Rowkey','列族'

              get 'my_ns:student','s001','info'

        --3.get '表名','Rowkey','列族:列名'

              get 'my_ns:student','s001','info:age'

    5.3 计算表中数据的总数

             --计算表中的Rowkey的个数

              count 'my_ns:student'

     5.4扫描表中的数据

        --扫描表中所有的数据

        scan 'my_ns:student'

      5.5删除表中的数据

        --delete '表名','Rowkey','列族:列名'

        delete 'my_ns:student','s001','info:age'

          --delete命令不会马上删除对应的列数据,只会在该列数据上打上删除的标识,当hbase进行数据合并时,才会真正删除该列数据

       5.6清空表中数据

         --truncate '表名'

        truncate 'my_ns:student'

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值