1.进入hbase命令行

./hbase shell

2.基本命令

  显示hbase中的表List

list

  查询user表中的所有信息Scan

scan 'users'

  清空user表中的数据Truncate (等同于disable + drop + create)

truncate 'users'

  删除表Drop

disable 'user'
drop 'user'

3.修改表结构

 首先停用user表(新版本不用)disable 'user',最后再启用表 enable 'user'

  添加新的列族f1

alter 'user',NAME =>'f1'

  删除一个列族f1(不指定METHOD,则默认为添加列族)

alter 'user', NAME => 'f1', METHOD => 'delete'
或者
alter 'user', 'delete' => 'f1'

  添加列族f1同时删除列族f2

alter 'user', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}

  将user表的f1列族版本号改为5

alter 'people', NAME => 'info', VERSIONS => 5

4.创建表
  创建user表,包含info、data两个列族

create 'user', 'info', 'data'
create 'user', {NAME => 'info', VERSIONS => ''},{NAME => 'data', VERSIONS => ''}

5.删除数据
  删除user表row key为rk0001,列标示符为info:name的数据

delete 'user', 'rk0001', 'info:name'

  删除user表row key为rk0001,列标示符为info:name,timestamp为1392383705316的数据

delete 'user', 'rk0001', 'info:name', 1392383705316

6.增加数据

  向user表中插入信息,row key为rk0001,列族info中添加name列标示符,值为zhangsan

put 'user', 'rk0001', 'info:name', 'zhangsan'

7.查找数据
  获取user表中row key为rk0001的所有信息

get 'user', 'rk0001'

  获取user表中row key为rk0001,info列族的所有信息

get 'user', 'rk0001', 'info'

  获取user表中row key为rk0001,info列族的name、age列标示符的信息

get 'user', 'rk0001', 'info:name', 'info:age'

  获取user表中row key为rk0001,info和data两个列族的信息

get 'user', 'rk0001', 'info', 'data'
get 'user', 'rk0001', {COLUMN => ['info', 'data']}
get 'user', 'rk0001', {COLUMN => ['info:name', 'data:pic']}

  获取user表中row key为rk0001,列族为info,版本号最新5个的信息

get 'user', 'rk0001', {COLUMN => 'info', VERSIONS => 5}
get 'user', 'rk0001', {COLUMN => 'info:name', VERSIONS => 5}

  //通过时间戳的范围查找数据cell,TIMERANGE=>[t1,t2] 是包含t1但不包含t2的时间段

  //scan后面只有两个参数,只能跟 Table_Name + 限制条件

get 'user', 'rk0001', {COLUMN => 'info:name', VERSIONS => 5, TIMERANGE => [1392368783980, 1392380169184]} 
scan 'user', {TIMERANGE => [1392368783980, 1392380169184]}

  //查询user表中列族为info,RowKey范围是[rk0001, rk0003)的数据【不能使用get】

scan 'people', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}

  //设置cell只保存3个VERSION版本,旧的多余的就会被覆盖掉

  //但是使用以下命令,还是会查询出5个版本,这是因为旧的版本会被打上删除标记,但在内存中,还未flush
  //当hbase重启之后,被打上标记的记录,则不会在被查到

  //RAW => true表示只能对列族COLUMNS => 'info'有效,对于COLUMNS => 'info:age' 则报错

scan 'users', {COLUMNS => 'info', RAW => true, VERSIONS => 5}

  //查询user表中RowKey以rk字符开头的【FILTER关键字】

scan 'user',{FILTER=>"PrefixFilter('rk')"}

  //获取二进制binary的值为“中国”的cell

  //这是因为汉字存储在hbase中,是以二进制的形式存储【ValueFilter】

put 'user', 'rk0002', 'info:nationality', '中国'
get 'user', 'rk0002', {FILTER => "ValueFilter(=, 'binary:中国')"}

  //获取user表中RowKey为rk0001,列标示符过滤器(QualifierFilter),即列名中含有a的信息

get 'people', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}

  //查询user表中列族为info和data且列标示符中含有a字符的信息

scan 'people', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}

HBase Shell相关的更多相关文章

  1. Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...

  2. 从零自学Hadoop(20):HBase数据模型相关操作上

    阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  3. hbase shell 基本命令总结

    访问hbase,以及操作hbase,命令不用使用分号hbase shell 进入hbase list 查看表hbase shell -d hbase(main):024:0> scan '.ME ...

  4. hbase基本概念和hbase shell常用命令用法

    1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...

  5. Hbase Shell命令

    1 启动HBase shell 2 HBase shell 命令 3 我们将以“一个学生成绩表”的例子来详细介绍常用的 HBase 命令及其使用方法. 这里 grad 对于表来说是一个列,course ...

  6. Hbase shell详情

    HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”.HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建.删 ...

  7. 【转载】HBase基本概念和hbase shell常用命令用法

    1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...

  8. HBase Shell(转)

    HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”.HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建.删 ...

  9. hbase基本概念和hbase shell经常使用命令使用方法

    HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用H ...

随机推荐

  1. 设计模式之工厂方法模式(Java实现)

    “我先来”,“不,老公,我先!”.远远的就听到几个人,哦不,是工厂方法模式和抽象工厂模式俩小夫妻在争吵,尼妹,又不是吃东西,谁先来不都一样(吃货的世界~).“抽象工厂模式,赶紧的自我介绍,工厂方法模式 ...

  2. ubuntu 14 root 账户 启用与ssh登录

    ubuntu 14.04 root用户登录 开启root帐号的方法: 为了启用root 帐号(也就是设置一个口令)使用: sudo passwd root 当你使用完毕后屏蔽root帐号使用: sud ...

  3. 报错 ERROR in static/js/vendor.b3f56e9e0cd56988d890.js from UglifyJs

    开发vux项目在引入 // 表单验证组件-start import zh_CN from 'vee-validate/dist/locale/zh_CN' import Validator from ...

  4. Ts中的接口interface(属性也能继承...)

    接口ITest.ts interface ITest { name:string; age:number; run(); to(x:number,y:number):number; } 必须继承接口的 ...

  5. js获取元素的外链样式

    一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可d ...

  6. 170503、centos6.5安装mysql5.6.30

    准备:虚拟机地址:192.168.0.110 安装目录/usr/local/ 首先卸载已经安装的mysql使用命令查看rpm -qa | grep mysql卸载使用 rpm -e xxx 或者 yu ...

  7. Tfs 2015 代理池配置笔记

    Tfs的构建代理池其实是在代理服务器上开启一个TFSBuild的代理服务,配好相关的Tfs地址后,就能在Tfs管理界面看到了. 如果是Tfs服务和发布代理是同一台服务器,具体操作详见: 安装TFS20 ...

  8. Xvfb新建虚拟X窗口,通过x11vnc启动VNC Server并转发Xvfb启动的虚拟窗口

    远程运行Linux窗口程序使用X Windows太重量级了,可以使用Xvfb新建虚拟X窗口,通过x11vnc启动VNC Server并转发Xvfb启动的虚拟窗口. 1 2 3 4 5 6 7 8 yu ...

  9. 第1章 1.9计算机网络概述--OSI参考模型和网络安全

    1.物理层安全: 风险:无关人员接入网络. 防范:将用不到的口的网线拔掉,或者用命令将用不到的网线接口shutdown(关闭). 2.数据链路层安全: ADSL账号密码 无线网账号密码 交换机绑定MA ...

  10. OCR技术浅探:Python示例(5)

    文件说明: 1. image.py——图像处理函数,主要是特征提取: 2. model_training.py——训练CNN单字识别模型(需要较高性能的服务器,最好有GPU加速,否则真是慢得要死): ...