`

HBase之旅二:通过HBase Shell与HBase交互(转自:Taobao QA Team)

 
阅读更多

引言
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://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交互。

    分享到:
    评论

    相关推荐

      hbase的shell操作

      HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它支持对HBase表进行增删改查等一系列操作,对于开发人员和系统管理员来说是非常实用的工具之一。本文将基于提供的描述和部分代码示例,深入讲解...

      hbase shell常用命令汇总

      HBase Shell 是一个基于命令行的工具,用于与HBase进行交互。它提供了一系列丰富的命令来执行基本的数据管理任务,例如创建表、插入数据、查询数据等。本文将详细介绍HBase Shell 中的一些常用命令。 #### 二、当前...

      hbase shell

      HBase Shell 是一个命令行工具,用于与 HBase 数据库进行交互。它提供了一系列的命令来管理表、执行数据定义语言 (DDL) 和数据操纵语言 (DML) 操作等。通过 HBase Shell,用户可以直接执行 SQL 类似的命令来查询、...

      Hbase权威指南(HBase: The Definitive Guide)

      - **存储API**(Storage API):HBase提供了一套用于数据存储和访问的API,使得开发人员能够方便地与之交互。 - **实现细节**:HBase的核心组件包括Master、RegionServer等,其中Master负责管理和监控整个集群的...

      hbase-shell批量命令执行脚本的方法

      批量执行hbase shell 命令 #!/bin/bash source /etc/profile exec $HBASE_HOME/bin/hbase shell <<EOF truncate 'tracker_total_apk_fact_zyt' major_compact('t_abc') disable 't_abc' drop 't_abc' create...

      hadoop hbase_shell操作命令

      HBase Shell是HBase提供的一个交互式的命令行界面,用于管理HBase表和执行各种操作。下面我们将深入探讨HBase Shell的一些常用操作命令。 1. **创建表**: 使用 `create` 命令可以创建HBase表。例如,创建一个名为...

      HBase学习利器:HBase实战

      集成与生态**:HBase不仅与HDFS紧密结合,还与Hadoop生态系统中的其他组件(如Pig、Hive、Spark等)有着良好的集成关系,使得数据处理更加便捷高效。 总之,《HBase in Action》这本书全面覆盖了HBase的基础知识和...

      hbase_shell操作命令汇总

      在HBase中,HBase Shell是用于管理与操作HBase数据库的一个交互式命令行工具。以下是一些HBase Shell的基本操作命令的详细说明: 1. **创建表** (`create`): 使用`create`命令创建一个新的HBase表。例如: ``` ...

      hbase_shell操作命令

      在HBase中,HBase Shell是一个交互式的命令行工具,用于管理和操作HBase数据库。它提供了多种命令,帮助用户执行常见的数据库操作,如创建、读取、更新和删除数据。以下是一些重要的HBase Shell操作命令及其详细说明...

      大数据技术原理及应用课实验3 熟悉常用的HBase操作 林子雨实验

      1. **理解HBase在Hadoop体系结构中的角色**:HBase是Hadoop生态系统中的一个关键组件,它提供了对海量数据的高效存储和检索能力,特别适合于处理半结构化的数据,如日志、时间序列数据等。 2. **熟练使用HBase操作...

      分布式存储系统:HBase:HBase基本操作与Shell命令.docx

      分布式存储系统:HBase:HBase基本操作与Shell命令.docx

      hbase用于查询客户端工具

      1. **HBase Shell**:这是HBase自带的一个命令行接口,用户可以通过Java REPL(Read-Eval-Print Loop)与HBase交互。HBase Shell提供了创建表、删除表、插入数据、查询数据等基本操作,同时也支持复杂的条件查询和...

      Hbase 的shell基本操作

      HBase是Apache的一个开源非关系型分布式数据库(NoSQL),它是建立在Hadoop文件系统(HDFS)之上,适用于需要快速读/写访问大量随机数据的场景。HBase采用了Google的Bigtable数据模型,底层物理存储采用了列存储的...

      HBase-SparkStreaming:从HBase表读取并写入HBase表的简单Spark Streaming项目

      创建一个要写入的hbase表:a)启动hbase shell $ hbase shell b)创建表create'/ user / chanumolu / sensor',{NAME =>'data'},{NAME =>'alert'},{ NAME =>'stats'} #执行: 第1步:MVN全新安装 步骤2:启动流...

      Hbase实验报告.pdf

      HBase Shell是HBase提供的命令行界面,用户可以通过它来与HBase集群交互。在开始实验之前,确保已经正确安装并配置了Hadoop和HBase环境。 ### 2. 创建表 实验要求创建一个名为`student`的表,字段包括`Row Key`、`...

      hbase shell操作指南

      HBase shell是一个命令行工具,它允许用户以交互的方式运行HBase的命令,如建表、插入数据、数据查询等操作。 1. 进入HBase Shell 要进入HBase Shell,首先需要确认HBase服务已经启动。然后切换到HBase的安装目录,...

      hbase导出csv,文本,html文件

      这个过程通常涉及到多个步骤,包括HBase与Hive的交互,以及数据的迁移和转换。 描述中提到的方法是首先通过HBase的条件查询功能筛选出所需的数据,然后将这些数据导出到Hive中。Hive提供了更灵活的数据处理能力,...

      Hadoop原理与技术Hbase的基本操作

      (3):hbase shell,进入hbase (4):list,显示所有表 (5):解决显示所有表遇到的错误(由于集群处于安全模式,该模式下只能进行只读操作,要解除安全状态才能运行) (6):create 'tempTable', 'f1', 'f2', 'f3',...

    Global site tag (gtag.js) - Google Analytics