Hbase基本命令

-》hbase的shell命令
   -》启动shell:bin/hbase shell
   -》如果shell要删除命令,需要按住ctrl+backsapce键
   -》help帮助信息
   
  Group name: general
  Commands: status, table_help, version, whoami


  Group name: ddl
  Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all,exists, get_table, is_disabled, is_enabled, list, show_filters
  
  Group name: namespace
  Commands: alter_namespace, create_namespace, describe_namespace, drop_namespace, list_namespace, list_namespace_tables


  Group name: dml
  Commands: append, count, delete, deleteall, get, get_counter, incr, put, scan, truncate, truncate_preserve


-》namesapce  
  -》展示命名空间
    list_namespace
  -》创建命名空间
    create_namespace 'hadoop20'    
create_namespace 'ns1', {'hadoop'=>'20'}  (很少用)
  -》描述命名空间
    describe_namespace 'hadoop20'
  -》修改命名空间(几乎不重要)
    alter_namespace 'ns1', {METHOD => 'set', 'hadoop' => '30'} 
  -》删除命名空间
    drop_namespace 


-》table
  -》展示表
    list
  -》创建表
    create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}
    -》NAME:列簇  
-》VERSIONS:版本,默认的是1
    -》每一个大括号里面只能有一个列簇,不同的大括号可以定义不同的列簇
-》大括号里的变量必须大写如:NAME
-》=>表示等于的意思
create 't1', 'f1', 'f2', 'f3'
-》't1'表示表名
-》'f1', 'f2', 'f3'  表示列簇
  -》自己创建
    create 'hadoop20:stu_info' ,{NAME => 'info'}
    create 'stu_info', 'f1', 'f2', 'f3'
  -》描述表
    describe 'hadoop20:stu_info'
desc 'hadoop20:stu_info'
  -》修改表
    alter 'hadoop20:stu_info', NAME => 'f1', VERSIONS => 5
alter 'hadoop20:stu_info', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}
-》修改并非是修改,而是添加或删除一个列簇
-》表名称、列簇名称已经不能更改
-》创建表时,注意列簇名称、表名称要想好
alter 'hadoop20:stu_info', NAME => 'f1', METHOD => 'delete'
alter 'hadoop20:stu_info', 'delete' => 'f2'
  -》删除表
    disable 'stu_info'
    drop 'stu_info'
-》删除表之前要首先禁用该表
-》启用:enable


-》DML语句
  -》插入/修改数据put
    put 'ns1:t1', 'r1', 'c1', 'value'
-》r1表示rowkey
-》c1表示列簇
-》value表示值
put 'hadoop20:stu_info' , '1001' ,'info:name' ,'tom'
put 'hadoop20:stu_info' , '1001' ,'info:age' ,'18'
put 'hadoop20:stu_info' , '1001' ,'info:sex' ,'male'
put 'hadoop20:stu_info' , '1002' ,'info:name' ,'tom'
put 'hadoop20:stu_info' , '1002' ,'info:age' ,'18'
put 'hadoop20:stu_info' , '1002' ,'info:sex' ,'male'
put 'hadoop20:stu_info' , '1003' ,'info:name' ,'tom'
put 'hadoop20:stu_info' , '1003' ,'info:age' ,'18'
put 'hadoop20:stu_info' , '1003' ,'info:sex' ,'male'
  -》查询数据
   -》get查询
     -》不支持全表查询(快速查询)
     get 'hadoop20:stu_info', '1001'   查询某个rowkey的数据
get 'hadoop20:stu_info', '1001', 'info'  指定某个列簇的查询
get 'hadoop20:stu_info', '1001', 'info:name'  指定某个列
   -》hbase数据默认是按照字典序进行排序  
   -》scan查询
     -》支持全表查询,类似于select * from的方式
scan 'hadoop20:stu_info'
-》支持部分的查询
scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
     scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz',STOPROW=> 'XYZ'}
-》走一个
scan 'hadoop20:stu_info', {COLUMNS => ['info'], STARTROW => '1002'}
scan 'hadoop20:stu_info', {COLUMNS => ['info'], STARTROW => '1002',STOPROW => '1003'}
-》包头不包尾
  -》删除数据
   -》delete 'hadoop20:stu_info', '1003', 'info' 
      delete 'hadoop20:stu_info', '1003'   
      -》删除一个列簇或者rowkey是删不掉的,只能删除某个列的数据,就是指定列
      delete 'hadoop20:stu_info', '1003', 'info:name' 
   -》deleteall 'hadoop20:stu_info', '1003'
      deleteall 'hadoop20:stu_info', '1003', 'info'
      -》通过deleteall删除某一个rowkey或列簇      
  -》清空数据
   -》truncate, truncate_preserve
   -》区别:
     -》truncate 清除数据,并且清除了分区的个数
-》truncate_preserve 清除数据,不清除分区的个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值