一、系统命令

  1. 启动hbase Shell
  2.   ./bin/hbase shell
  3. 获取帮助
  4.   help
  5. 查询服务器状态
  6.   status
  7. 查询hbase版本
  8.   version
  9. 查询表
  10.   list
  11. 获取表描述
  12.   describe 'member'
  13. 扫描记录
  14.   scan table
  15. 禁用表
  16.   disable table
  17. 使能表
  18.   enable table
  19. 删除表
  20.   disable table
  21.   drop table
  22. 退出hbase shell
  23.   quit

二、控制命令权限grant命令用于给指定用户授予特定的权限

  1.   grant <user>, <permissions> [, <@namespace> [, <table> [, <column family> [, <column qualifier>]]]]

    # 给用户userName授予RWXC权限
    grant 'userName', 'RWXC'
   # 给用户test授予表tbl1的读权限
    grant 'userName','R','tableName'
   # 给用户组testgrp授予表tbl1的读权限
    grant '@userFroup','R','tableName'
   # 给用户test授予namespace ns_1的CREATE权限
    grant 'userName 'C','@ns_1'

  1. 2revoke命令用于回收指定用户的权限
  1.   revoke <user> [, <@namespace> [, <table> [, <column family> [, <column qualifier>]]]]
  2.  

   # 回收用户userName授予RWXC权限
    revoke 'userName'
   # 回收用户userName授予表tbl1的读权限
    revoke 'userName','R','tableName'
   # 回收用户组testgrp授予表tbl1的读权限
    revoke '@userFroup','R','tableName'
   # 回收用户userName授予namespace ns_1的CREATE权限
    revoke 'userName 'C','@ns_1'

  1. 3user_permission用于查询权限
  2.   user_permission <table>
  3.  
  4. 查看指定表的权限
  5.   user_permission 'table01'
  6.  
  7. 4、<permissions>包括以下5种权限
  8.   R - 可以读取给定范围的数据。
  9.   W - 可以在给定范围内写入数据。
  10.   X - 可以在给定范围内有执行权限。
  11.   C - 可以在给定范围内创建表或删除表(甚至是那些他们没有创建的表)。
  12.   A - 可以执行集群操作,例如平衡集群或在给定范围内分配Region

三、DML操作一

  1. 1、创建用户信息表user_info
  2.   create 'user_info',{NAME => 'i'}
  3.  
  4. 2、以增加编号12005000201的用户信息为例,其他用户信息参照如下命令依次添加
  5.   put 'user_info','12005000201','i:name','A'
  6.   put 'user_info','12005000201','i:gender','Male'
  7.   put 'user_info','12005000201','i:age','19'
  8.   put 'user_info','12005000201','i:address','Shenzhen, Guangdong'
  9.  
  10. 3、在用户信息表user_info中新增用户的学历、职称信息
  11.   put 'user_info','12005000201','i:degree','master'
  12.   put 'user_info','12005000201','i:pose','manager'
  13.  
  14. 4、根据用户编号查询用户姓名和地址
  15.   scan 'user_info',{STARTROW=>'12005000201',STOPROW=>'12005000201',COLUMNS=>['i:name','i:address']}
  16.  
  17. 5、根据用户姓名进行查询
  18.   scan 'user_info',{FILTER=>"SingleColumnValueFilter('i','name',=,'binary:A')"}
  19.  
  20. 6、删除用户信息表中该用户的数据
  21.   delete 'user_info','12005000201','i'
  22.  
  23. 7、删除用户信息表
  24.   disable 'user_info';drop 'user_info'

四、DML操作二

  1. 1、创建一个普通表
  2. 创建表 表名 列族1 列族2 列族3
  3. create 'member','member_id','address','info'

    

  1. 2、插入数据
  2. put 'member','xiaoming','info:age','24'
  3. put 'member','xiaoming','info:birthday','1987-06-17'
  4. put 'member','xiaoming','info:company','alibaba'
  5. put 'member','xiaoming','address:contry','china'
  6. put 'member','xiaoming','address:province','zhejiang'
  7. put 'member','xiaoming','address:city','hangzhou'
  8.  
  9. put 'member','xiaofeng','info:birthday','1987-4-17'
  10. put 'member','xiaofeng','info:favorite','movie' 
  11. put 'member','xiaofeng','info:company','alibaba'
  12. put 'member','xiaofeng','address:contry','china'
  13. put 'member','xiaofeng','address:province','guangdong'
  14. put 'member','xiaofeng','address:city','jieyang'
  15. put 'member','xiaofeng','address:town','xianqiao'
  16. 3、获取一条数据
  17. 获取一个id的所有数据
  18. get 'member','xiaofeng'

      

  1. 获取一个id,一个列族的所有数据
  2. get 'member', 'xiaoming','info'

      

  1. 获取一个id,一个列族中一个列的所有数据
  2. get 'member','xiaoming','info:age'

      

  1. 得到所有行info:birthday列中的数据
  2. scan 'member' , {COLUMNS => 'info:birthday'}
  3. 4、更新一条数据
  4. xiaoming的年龄改成99
  5. put 'member','xiaoming','info:age' ,'99'

      

  1. get 'member','xiaoming','info:age' 
          
  1. 5、通过timestamp来获取两个版本的数据
  2. get 'member','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}
          
  1. get 'member','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1321586571843}
          
  1. 6、删除idxiaoming的值的‘info:age’字段
  2. delete 'member','xiaoming','info:age'
  3. 7、删除整行
  4. deleteall 'member','xiaofeng'
  5. 8、查询表中有多少行
  6. count 'member'
  7. 9、给xiaofeng这个id增加'info:age'字段
  8. incr 'member','xiaofeng','info:age'                    
  9. get 'member','xiaofeng','info:age' 
  10. 10、将整张表清空
  11. truncate 'member'

四、DDL操作

  1. 1、创建一个普通表(包含3个列族)
  2. create 'member','member_id','address','info'
  3.  
  4. 创建一个带版本的表
  5. create 't1',{NAME='cf',VERSIONS=5}
  6. 2、获取表的描述
  7. list
  8. describe 'member'
  9. 3、删除一个列族
  10. 我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。(关键字大小写敏感)
  11. disable 'member'
  12. alter'member',NAME=>'member_id',METHOD=>'delete'
  13. describe 'member'
  14. 该列族已经删除,我们继续将表enable
  15. enable 'member' 
  16. 4、删除一个表
  17. disable 'temp_table'
  18. drop 'temp_table'
  19. 5、查询表是否存在
  20. exists 'member'
  21. 6.判断表是否enable
  22. is_enabled 'member'
  23. 7.判断表是否disable
  24. is_disabled 'member'

Hbase之shell基本操作的更多相关文章

  1. hbase shell 基本操作

    hbase shell  基本操作 启动HBASE [hadoop@master ~]$hbase shell      2019-01-24 13:53:59,990 WARN  [main] ut ...

  2. Hbase shell基本操作

    1.启动cd <hbase_home>/bin$ ./start-hbase.sh 2.启动hbase shell # find hadoop-hbase dfs fileshadoop ...

  3. HBase基本shell命令

    HBase基本shell命令 以下shell命令都是经过测试,正常展示,若有不足,还望指点! 1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create 'test_M_01', ...

  4. hbase运行shell时ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 的解决办法

    这个问题困扰了我一天多的时间,百度搜索的前几条的答案也是很扯淡的,说什么把/etc/hosts文件下的127.0.1.1改成127.0.0.1就行了,我也只能呵呵了.今天早上起得很晚,中午迪哥请我们去 ...

  5. HBase的shell命令行界面按退格键(Backspace)无法删除问题

    在HBase的shell命令行界面输入错误项按"退格键"删除,却怎么也删除不了: 解决办法: 第一步,修改SecureCRT的设置参数: 第二步,按"Ctrl+退格键(B ...

  6. HBase的Shell命令

    1.HBase提供了一个shell的终端给用户交互 2.HBase Shell的DDL操作 (1)先进入HBase的 Shell命令行,即HBASE_HOME/bin/hbase shell …… & ...

  7. linux下MongoDB客户端shell基本操作

    MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15} ...

  8. HBase的Shell命令和JavaAPI

    HBase的shell操作和JavaAPI的使用: Shell 表操作 创建表 create 'student','info' #表名 列族 插入表 put 'student','1001','inf ...

  9. shell 基本操作小结

    1.echo和if else fi命令 #!/bin/bash echo hello;echo there filename=demo.sh if [ -e "$filename" ...

随机推荐

  1. 一款性价比很高的PLC网关如何采集西门子PLC到Thingsboard

    PLC转MQTT网关金鸽BL100 西门子S7-200smart对接thingsboardBL102是一款采集西门子.三菱.欧姆龙.台达.AB.施耐德等各种PLC数据转换为Modbus TCP.OPC ...

  2. Educational Codeforces Round 132 (Rated for Div. 2)

    Educational Codeforces Round 132 (Rated for Div. 2) A. Three Doors 简述 题意: 有三扇门(1~3), 其中两扇门后面有对应标号门的钥 ...

  3. MySQL之COUNT(*)性能到底如何?

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 前言 在实际开发过程中,统计一个表的数据量是经常遇到 ...

  4. 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器

    目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...

  5. mybatisplus-Service CRUD 接口

    通用 Service CRUD 封装IService (opens new window)接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前 ...

  6. 关于 Math.random()生成指定范围内的随机数的公式推导

    关于 Math.random()生成指定范围内的随机数的公式推导 在 java 中,用于生成随机数的 Math 方法 random()只能生成 0-1 之间的随机数,而对于生成指定区间,例如 a-b ...

  7. 记一次 Sedona(GeoSpark) 空间计算优化

    项目需求需要空间计算能力,开始选型Sedona(GeoSpark)来完成, 需求需要每一条数据在满足某条件的情况下,去查找某张表进行空间匹配,找到离这个点(point)最近的一条道路(lineStri ...

  8. e1000e网卡驱动在麒麟3.2.5上编译安装

    一.清空原驱动 因为系统安装完毕后系统中自带了e1000e的网卡驱动,会影响后面自行编译的驱动 所以先用find命令找出并删除掉所有关于e1000e的驱动文件 find / -name "* ...

  9. 1.关于433MHz按键单片机解码

    近段时间做项目要用到单片机接收433MHz按键发过来的码值,涉及短按.连按.长按,由于之前没有做过这方面一开始有点蒙,找遍网上都没有案例,现在项目完成了整理自己的一些心得和大家分享分享!!!直入主题. ...

  10. 使用mbr2gpt将MBR磁盘转换为GPT磁盘

    随着越来越多的新PC的到来,UEFI启动渐渐的取代了BIOS启动方式.不过UEFI需要从GPT磁盘启动,原来的MBR磁盘不行.如果你更换了硬件,只想把磁盘拿到新平台上用又不想重装系统的话就麻烦了.以前 ...