HBase 常用命令

查看当前用户:whoami
创建表:create '表名', '列族名1','列族名2','列族名N'
查看所有表:list
描述表: describe ‘表名’
判断表存在: exists '表名'
判断是否禁用启用表:is_enabled '表名'和is_disabled ‘表名’ 添加记录: put ‘表名’, ‘rowKey’, ‘列族 : 列‘ , '值'
查看表中的记录总数: count '表名'
查看记录rowkey下的所有数据: get '表名' , 'rowKey'
获取某个列族:get '表名','rowkey','列族'
获取某个列族的某个列:get '表名','rowkey','列族:列’ 删除记录:delete ‘表名’ ,‘行名’ , ‘列族:列'
删除整行:deleteall '表名','rowkey'
删除一张表:先要屏蔽该表,才能对该表进行删除
第一步 disable ‘表名’ ,第二步 drop '表名' 清空表:truncate '表名'
查看所有记录:scan "表名"
查看某个表某个列中所有数据: scan "表名" , {COLUMNS=>'列族名:列名'}

进入hbase shell

[root@spark1 ~]# start-hbase.sh #启动hbase
[root@spark1 ~]# hbase shell #
查询当前用户
hbase(main):024:0> whoami
查看有哪些表
hbase(main):020:0> list

表的管理

创建表

语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}

创建表t1,列族为f1,列族版本号为5
hbase(main):001:0> create 't1',{NAME=>'f1',VERSIONS=>5} 创建表t2,有两个family name:f1,f2,且版本数均为2
hbase(main):002:0> create 't2',{NAME => 'f1',VERSIONS => '2'},{NAME => 'f2',VERSINS => 2} 创建表t3
hbase(main):003:0> create 't3','f1','f2','f3' 创建表t4,将表依据分割算法HexStringSplit分布在15个Region里
hbase(main):004:0> create 't4','f1',{NUMREGIONS => 15,SPLITALGO => 'HexStringSplit'} 创建表t5,指定切分点
hbase(main):005:0> create 't5','f1',{SPLITS => ['10','20','30','40']} 创建表users
hbase(main):006:0> create 'users', 'user_id' ,'address','info'
=> Hbase::Table - users 向表t1中行row1,列f1:1,添加数据value1,时间戳为2016121730
hbase(main):007:0> put 't1','key1','f1:1','value1',2016121730

删除表(先屏蔽在删除)

hbase(main):008:0> disable 't1'
hbase(main):009:0> drop 't1'

查看表的结构

hbase(main):010:0> desc 't1'

表数据的增删改查

添加数据

语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
给t1表添加条数据
hbase(main):011:0> put 't1','key1','f1:col1','value1'

查询某行记录

查询t1表中key1下所有的值
hbase(main):012:0> get 't1','key1'
查询t1 key1中,f1下1的值
hbase(main):013:0> get 't1','key1','f1:1'
或者
hbase(main):014:0> get 't1','key1',{COLUMN => 'f1:1'}

扫描表(可添加STARTROW、TIMERANGE和FITLER等高级功能)


hbase(main):015:0> scan 't1' ,{LIMIT => 5}

统计表中数据行数

语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}
INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存
区大小,默认是10,调整该参数可提高查询速度 查询表t1中的行数,每100条显示一次,缓存区为500
hbase(main):058:0> count 't1',{INTERVAL => 100,CACHE => 500}

删除数据

删除行中某个列值(必须指定列名)

例如:删除表t1,key1中的f1:1的数据
hbase(main):015:0> delete 't1','key1','f1:1'

删除行

hbase(main):016:0> deleteall 't1','key1'

删除表中所有数据

删除t1表中所有数据
hbase(main):017:0> truncate 't1'

权限管理

分配权限

语法 : grant <user> <permissions> <table> <column family> <column
qualifier>

查看权限

语法:user_permission <table>

收回权限

语法:revoke <user> <table> <column family> <column
qualifier>

Region管理

移动region

语法:move 'encodeRegionName', 'ServerName'
encodeRegionName指的regioName后面的编码,ServerName指的是master-stat
us的Region Servers列表

开启/关闭region

语法:balance_switch true|false

其他

查看命令帮助信息
hbase(main):020:0> create help
查看表是否存在
hbase(main):021:0> exists 't1'

HBase学习2(HBase shell)的更多相关文章

  1. Hbase 学习(一) hbase配置文件同步

    最近在狂啃hadoop的书籍,这部<hbase:权威指南>就进入我的视野里面了,啃吧,因为是英文的书籍,有些个人理解不对的地方,欢迎各位拍砖. HDFS和Hbase配置同步 hbase的配 ...

  2. hbase 学习笔记二----shell

          Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库 ...

  3. HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>

    HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行                       ----首先感谢网络能够给我提供一个开放的学习平台,如果没有网上的技术爱好者提供 ...

  4. HBase学习——3.HBase表设计

    1.建表高级属性 建表过程中常用的shell命令 1.1 BLOOMFILTER 默认是 NONE 是否使用布隆过虑及使用何种方式,布隆过滤可以每列族单独启用 使用HColumnDescriptor. ...

  5. HBase学习笔记-HBase性能研究(1)

    使用Java API与HBase集群交互时,需要构建HTable对象,使用该对象提供的方法来进行插入/删除/查询等操作.要创建HTable对象,首先要创建一个带有HBase集群信息的配置对象Confi ...

  6. HBase学习——4.HBase过滤器

    1.过滤器 基础API中的查询操作在面对大量数据的时候是非常苍白的,这里Hbase提供了高级的查询方法:Filter.Filter可以根据簇.列.版本等更多的条件来对数据进行过滤,基于Hbase本身提 ...

  7. HBase学习笔记之HBase原理和Shell使用

    HBase学习指南之HBase原理和Shell使用 参考资料: 1.https://www.cnblogs.com/nexiyi/p/hbase_shell.html,hbase shell

  8. HBase学习之路 (三)HBase集群Shell操作

    进入HBase命令行 在你安装的随意台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客 户端 [hadoop@hadoop1 ~]$ hbase shell S ...

  9. HBase学习笔记——配置及Shell操作

    1.HBase的配置 还是以前配置的集群,见:http://www.cnblogs.com/DarrenChan/p/6493373.html 我们约定:weekend03和weekend04放HMa ...

随机推荐

  1. shell 命令getopts用法

    写shell脚本常见sh test.sh -m 2 -d 3的写法 事例脚本: #!/bin/bash while getopts ":a:b:c:" arg #选项后面的冒号表示 ...

  2. 山石防火墙debug

    debug dp basic debug dp snoop debup dp drop debug dp filter src-ip ? show logging debug

  3. 一道Google面试题——基数排序思想

    题目描述: 一个大小为n的数组,里面的数都属于范围[0,n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间. 算法分析: 这个题目要求用O(n)的时间复杂度,这意味着只 ...

  4. 标准模板库--STL

    标准模板库STL 1.泛型程序设计 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用: 1.面向对象的思想:继承和多态,标准类库 2.泛型程序设计(generic progra ...

  5. react native的环境搭建中常见问题

    搭建完成android的环境,我们就可以继续我们的react native环境的搭建了. 当然,按照fb的安装流程来完成rn的搭建. http://facebook.github.io/react-n ...

  6. 1400 序列分解(dfs)

    1400 序列分解 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 小刀和大刀是双胞胎兄弟.今天他们玩一个有意思的游戏. 大刀给小刀准备了一个长度为n的整数序列.小 ...

  7. css,查询相应标签,div等

    1.类名 .类别 例子: 查询类名为“useradd” .useradd{ margin-top:50px; margin-left:200px;} 2.属性找 例子:查询类为useradd下的inp ...

  8. 斯坦福大学Andrew Ng - 机器学习笔记(1) -- 单变量&多变量线性回归

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  9. android学习二---解决ADT Buddle无法自动生成layout和res

    开发环境: 1)windows 7 64位 2)adt-bundle-windows-x86_64-20140624 3)Android Development Toolkit Version: 23 ...

  10. LVM逻辑卷管理器

    LVM概述 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...