出处:http://www.taobaotest.com/blogs/1604

业务开发测试HBase之旅二:通过HBase Shell与HBase交互

yedu 发表于:2011-10-11 浏览:9029次 评论:1次 所属分类: 分布式系统测试
引言

HBase提供了丰富的访问接口。

• HBase Shell

• Java clietn API

• Jython、Groovy DSL、Scala

• REST

• Thrift(Ruby、Python、Perl、C++…)

• MapReduce

• Hive/Pig

其中HBase Shell是常用的便捷方式,我们将结合本系列上一篇文章的理论分析来实践一把,依然采用blog表示例

首先你需要一个HBase的环境,如果需要自己搭建可以参考http://hbase.apache.org/book/quickstart.html 和http://hbase.apache.org/book/notsoquick.html。 如果你在windows环境下配置cygwin及ssh遇到问题可以参考 http://www.taobaotest.com/blogs/1688。

进入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交互。

  • 通过HBase Shell与HBase交互的更多相关文章

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

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

    2. 大数据技术之_11_HBase学习_01_HBase 简介+HBase 安装+HBase Shell 操作+HBase 数据结构+HBase 原理

      第1章 HBase 简介1.1 什么是 HBase1.2 HBase 特点1.3 HBase 架构1.3 HBase 中的角色1.3.1 HMaster1.3.2 RegionServer1.3.3 ...

    3. HBase Shell操作

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

    4. HBase shell 命令介绍

      HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...

    5. 云计算与大数据实验:Hbase shell终端操作之数据操作一

      [实验目的] 1)学会向表中添加记录 2)学会添加记录时动态添加列 3)学会查看一条记录 4)学会查看表中的记录总数 5)学会删除记录 [实验原理] Hbase shell作为Hbase数据的客户端, ...

    6. hbase shell 基本命令总结

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

    7. HBase shell

      进入命令行 ./hbase shell 查看HBase shell帮助 help 查看命令帮助 直接输入命令回撤 创建命名空间 create_namespace 'ns1' 查看命名空间 list_n ...

    8. Hbase Shell命令

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

    9. Hbase shell详情

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

    随机推荐

    1. 95th percentile concentration

      很多网络流量监控软件都提供了一个95th的值,开始一直不太理解,终于在solarwinds官网找到答案. 95th百分点指的是所给数集中超过其95%的数.它是一个统计学上的概念.对于某个接口,准确统计 ...

    2. vim 的复制粘贴命令,以及使用寄存器来存放要复制的内容;

      一,y(yanks)复制,p(paste)粘贴: yy 复制当前行,2yy,复制2行: Y  复制整行:Y=yy; p 粘贴到光标后: P 粘贴到光标前: 注意vim会知道你复制内容的是整行还是一个矩 ...

    3. <轻量算法>根据核密度估计检测波峰算法 ---基于有限状态自动机和递归实现

      原创博客,转载请联系博主! 希望我思考问题的思路,也可以给大家一些启发或者反思! 问题背景: 现在我们的手上有一组没有明确规律,但是分布有明显聚簇现象的样本点,如下图所示: 图中数据集是显然是个3维的 ...

    4. 51nod 1513 && CF570D

      题意:给定一棵树,每个节点有一个字母.给定若干个询问,询问某个子树内某一深度的节点是否能将这些节点组合成一个回文串.(深度是以根节点为基准的,不是当前子树根.)数据规模10^5. 神犇题解 子树问题, ...

    5. Luogu P1196 [NOI2002]银河英雄传说:带权并查集

      题目链接:https://www.luogu.org/problemnew/show/P1196 题意: 有30000个战舰队列,编号1...30000. 有30000艘战舰,编号1...30000, ...

    6. jquery---each循环的退出

      jquery循环函数each退出使用 return false(等效break); return true(continue)    此时return 退出的是each函数,并不影响其父级函数的ret ...

    7. 在windows下进行linux开发:利用Vagrant+virtualbox

      1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等.出于个人使用习惯,可能我们还是比较习惯用windows.虽然说在wind ...

    8. jQuery - 获取/设置内容和属性

      获得内容 - text().html() 以及 val() 三个简单实用的用于 DOM 操作的 jQuery 方法: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元 ...

    9. 机器学习(二十四)— 偏差Bias 与方差Variance

      1.首先 Error = Bias + Variance  Error反映的是整个模型的准确度, Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度, Variance反映的是模 ...

    10. linux应用之make命令详解

      从源代码安装过软件的朋友一定对 ./configure && make && make install 安装三步曲非常熟悉了.然而究竟这个过程中的每一步幕后都发生了些什 ...