博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase应用笔记:通过HBase Shell与HBase交互(转自:Taobao QA Team)
阅读量:6421 次
发布时间:2019-06-23

本文共 1904 字,大约阅读时间需要 6 分钟。

 

引言

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
看来控制台是靠jruby语言解析的。输入“help”可以快速扫描下支持那些命令。

创建表

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

增加记录

>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: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倒序自动排序。

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

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

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

转载于:https://www.cnblogs.com/eprsoft/archive/2012/10/22/2734124.html

你可能感兴趣的文章
数据结构 - 双链表(C++)
查看>>
浅谈数据归一化
查看>>
三层架构,四大天王——删
查看>>
【LeetCode】【Python解决问题的方法】Best Time to Buy and Sell Stock II
查看>>
[DEEP LEARNING An MIT Press book in preparation]Deep Learning for AI
查看>>
11G新特性 -- flashback data archive(1)
查看>>
Cache 工具类
查看>>
基于HTML5树组件延迟加载技术实现
查看>>
DM8168的互连与内存映射
查看>>
Hadoop学习笔记—19.Flume框架学习
查看>>
iOS开发技巧(系列十八:扩展UIColor,支持十六进制颜色设置)
查看>>
@JVM内存分配与回收策略
查看>>
Project Euler 90:Cube digit pairs 立方体数字对
查看>>
Bash Shell 里的各种括号
查看>>
CKeditor 配置使用
查看>>
SQLSERVER中正则表达式封装使用
查看>>
Android在发送带有附件的邮件
查看>>
ANSI、ASCII、GB2312、GBK
查看>>
11 Clever Methods of Overfitting and how to avoid them
查看>>
javascript大神修炼记(7)——OOP思想(多态)
查看>>