HBase shell 简单使用

HBase提供了丰富的访问接口。
  • HBase Shell
  • Java clietn API
  • Jython、Groovy DSL、Scala
  • REST
  • Thrift(Ruby、Python、Perl、C++…)
  • MapReduce
  • Hive/Pig
其中HBase Shell是常用的便捷方式

首先你需要一个HBase的环境,如果需要自己搭建可以参考http://hbase.apache.org/book/quickstart.html 和http://hbase.apache.org/book/notsoquick.html

如果你在windows环境下配置cygwin及ssh遇到问题可以参考 http://qa.taobao.com/?p=10633。

进入HBase shell控制台
>bin/hbase shell
 输入“help”可以快速扫描下支持那些命令。

创建表
> create 'blog','article','author'
知识点回顾:Column Family是schema的一部分,而Column不是。这里的article和author是Column Family。

查询所有表

>list

增加记录
>put 'blog','1','article:title,' Head First HBase '
>put 'blog','1','article:content','HBase is the Hadoop database. Use it when you need random, realtime read/write access to your Big Data.'
> put 'blog','1','article:tags','Hadoop,HBase,NoSQL'
> put 'blog','1','author:name','hujinjun'
> put 'blog','1','author:nickname',’一叶渡江’
知识点回顾:Column完全动态扩展,每行可以有不同的Columns。

根据RowKey查询
> get 'blog','1'

知识点回顾:HTable按RowKey字典序(1,10,100,11,2)自动排序,每行包含任意数量
的Columns,Columns按ColumnKey(article:content,article:tags,article:title,author:name,author:nickname)自动排序

查询列族

>get 'blog','1','author

查看表内容

>scan 'blog'

更新练习

  • 查询下更新前的值:

> get ‘blog’,’1’,’author:nickname’

  • 更新nickname为’yedu’:

> put ‘blog’,’1’,’ahthor:nickname’,’yedu’

  • 查询更新后的结果:

> get ‘blog’,’1’,’author:nickname’

知识点回顾:查询默认返回最近的值。

  • 查询nickname的多个(本示例为2个)版本值

> get 'blog','1',{COLUMN => 'author:nickname',VERSIONS => 2}


知识点回顾:每个Column可以有任意数量的Values,按Timestamp倒序自动排序。

当修改多次(大于3次,修改2次时也就有3个VERSIONS)时:VERSIONS默认最高为3

> get 'blog','1',{COLUMN => 'author:nickname',VERSIONS => 4}

  • 如何只查询到以前的旧版本呢,需要借助Timestamp

>get 'blog','1',{COLUMN => 'author:nickname', TIMESTAMP => 1333690828877}

知识点回顾:TabelName+RowKey+Column+Timestamp=>Value

删除记录

  • delete只能删除一个column

>delete 'blog','1','author:nickname'

  • 删除RowKey的所有column用deleteall

>deleteall ‘blog’,’1’
删除表
练习完毕,把练习表删了吧,删除之前需要先disable
>disable ‘blog’
>drop ‘blog’

小结
本文演示了通过HBase shell创建、删除表及对记录的增删改查,可以参照操作结果对回顾的知识点进一步理解掌握,在本系列下一篇文章中讲演示如何通过Java api来与HBase交互。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值