HBase shell 简单使用

摘要:
创建“博客”、“文章”、“作者”知识点回顾:“HeadFirstHBase”>Content','文章:标签','Hadoop,'作者查看表内容>扫描“博客”更新练习在查询下更新前的值:昵称“,昵称”,删除“博客”,“作者:

引言
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

HBase shell 简单使用第1张

增加记录
>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'

HBase shell 简单使用第2张

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

查询列族

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

HBase shell 简单使用第3张

查看表内容

>scan 'blog'

HBase shell 简单使用第4张

更新练习

  • 查询下更新前的值:

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

HBase shell 简单使用第5张

  • 更新nickname为’yedu’:

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

  • 查询更新后的结果:

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

HBase shell 简单使用第6张

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

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

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

HBase shell 简单使用第7张
知识点回顾:每个Column可以有任意数量的Values,按Timestamp倒序自动排序。

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

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

HBase shell 简单使用第8张

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

>get 'blog','1',{COLUMN => 'author:nickname', TIMESTAMP => 1333690828877}
HBase shell 简单使用第9张

知识点回顾: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交互。

内容主要来自:http://hi.baidu.com/jrckkyy/blog/item/b5e0204595994e2086947370.html

免责声明:文章转载自《HBase shell 简单使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇梯度出现Nan值的追踪linux mv命令详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

windows端口占用处理方法

(1)输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是8081,首先找到它。C:UsersAdministrator>netstat -ano活动连接协议 本地地址 外部地址 状态 PID ...................................TCP [::]:1036 [::]:0...

js跨域问题的解决

  js提交请求给别的应用实例或者别的服务器,由于同源策略,存在js跨域的情况,我所知道两种处理方式; 1、jquery ajax+jsonp <script type="text/javascript" src="http://t.zoukankan.com/jquery.js"></script> <script type...

jQ效果:jQuery和css自定义video播放控件

下面介绍一下通过jquery和css自定义video播放控件。 Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的原生态浏览器视频空间.我们制作自定义视频控件为了在所有的浏览器中有一个相同的Html5视频控件而不受默认视频控件的控制. 实际上,自定义视频控件并不困难.本...

Ubuntu desktop基本操作

2018-03-03 11:48:52 ubuntu16 lts 更换源,系统安装的时候可以跳过语言包的安装 打开software & updates应用,Other software选项页,勾选 Canonical Partners。 更改中文 打开language support应用,language页安装中文并拖动到第一位 然后重启 安装c...

a.download下载文件 ---跨域问题

下载文件,使用a.download var a = document.createElement('a') a.download = row.fileName || 'pic' a.href = row.src; a.click() 预览文件 window.open(row.src)  预览文件只能预览图片文件和pdf a.download在跨域中是...

lodash按需引入

lodash提供了很多可用的方法供我们使用,绝对是一个很好用且用起来得心应手的工具库。但是同时,lodash的体积也不小,我们项目中使用的大概522K,可能只是使用了几个方法,但是却把整个lodash库引入了。为了吃几条鱼,就承包了整个鱼塘,代价有点大呀! 对于这个问题,有几种方案可供选择。 一.引入单个函数  lodash整个安装完之后,引用方式: lo...