zoukankan      html  css  js  c++  java
  • 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交互。

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

  • 相关阅读:
    定义和使用EL函数
    在Java Web程序中使用Hibernate
    JDBC在Java Web中的应用——分页查询
    JDBC调用存储过程
    使用navicat工具创建MySQL存储过程
    JDBC操作数据库的批处理
    JDBC操作数据库
    Servlet监听器统计在线人数
    Servlet字符编码过滤器
    Servlet过滤器创建与配置
  • 原文地址:https://www.cnblogs.com/liangzh/p/2434690.html
Copyright © 2011-2022 走看看