`

HBase 常用Shell命令(二)

 
阅读更多

 

  1. hbase(main):079:0> create 'scores',{NAME=>'course',VERSIONS=>2}
  2. 0 row(s) in 0.9590 seconds
  3.  hbase(main):080:0> put 'scores','Tom','course:math','97'
  4. 0 row(s) in 0.0100 seconds

 

 
  1. hbase(main):081:0> scan 'scores'
  2. ROW COLUMN+CELL
  3. Tom column=course:math, timestamp=1394097631387, value=97
  4. 1 row(s) in 0.0190 seconds
  5. hbase(main):082:0> put 'scores','Tom','course:math','100'
  6. 0 row(s) in 0.0080 seconds
  7. hbase(main):026:0> scan 'scores'
  8. ROW COLUMN+CELL
  9. Tom column=course:math, timestamp=1394097651029, value=100
  10. 1 row(s) in 0.0110 seconds
  11. hbase(main):027:0> scan 'scores',{TIMERANGE=>[1394097631387,1394097651029]}
  12. ROW COLUMN+CELL
  13. Tom column=course:math, timestamp=1394097631387, value=97
  14. 1 row(s) in 0.0210 seconds
  15. hbase(main):028:0> scan 'scores',{TIMERANGE=>[1394097631387,1394097651030]}
  16. ROW COLUMN+CELL
  17. Tom column=course:math, timestamp=1394097651029, value=100
  18. 1 row(s) in 0.0100 seconds

从上面可以看到,HBASE默认scan出来的结果是最后一条时间戳的记录,那么如何把这两条都scan出来呢,
这时候可以加入VERSIONS这个约束条件:

  1. hbase(main):032:0> scan 'scores',{VERSIONS=>2}
  2. ROW COLUMN+CELL
  3. Tom column=course:math, timestamp=1394097651029, value=100
  4. Tom column=course:math, timestamp=1394097631387, value=97
  5. 1 row(s) in 0.0130 seconds

 上面的命令,已经把这条记录都scan出来了。

再看下面的例子:

 

 

  1. scan 'scores',{TIMERANGE=>[1394097631386,1394097651029],VERSIONS=>2}
  2. ROW COLUMN+CELL
  3.  Tom column=course:math, timestamp=1394097631387, value=97
  4. 1 row(s) in 0.0130 seconds

 从上面的结果只scan出一条记录。可知,TIMERANGE表示的是”>=开始时间 and <结束时间“的。再看:

  1. hbase(main):003:0> scan 'scores',{TIMERANGE=>[1394097631386,1394097651030],VERSIONS=>2}
  2. ROW COLUMN+CELL
  3.  Tom column=course:math, timestamp=1394097651029, value=100
  4.  Tom column=course:math, timestamp=1394097631387, value=97
  5. 1 row(s) in 0.0100 seconds

 OK,这样就明白了
 不过上面的加了VERSIONS=>2,就可以查到历史的数据了,但是必须再创建表的时候加上VERSIONS,否则无效,看下面的例子:

 

  1. hbase(main):082:0> create 'member','address','info'
  2. 0 row(s) in 0.4140 seconds
  3. => Hbase::Table - member

 

  1. hbase(main):093:0> put 'member','wanglei','info:age','24'
  2. 0 row(s) in 0.0730 seconds

 

 

  1. hbase(main):093:1>get 'member','wanglei',{COLUMN=>'info:age'}
  2. COLUMN         CELL
  3.  info:age timestamp=1394438746187, value=24
  4. hbase(main):093:7> put 'member','wanglei','info:age','99'
  5. 0 row(s) in 0.0730 seconds
  6. hbase(main):093:18> get 'member','wanglei',{COLUMN=>'info:age'}
  7. COLUMN                             CELL
  8. info:age                          timestamp=1394439539837, value=100 
 
     

 

 
  1. hbase(main):022:0> get 'member','wanglei',{COLUMN=>'info:age',TIMERANGE=>[1394438746187,1394439539838],VERSIONS=>2}
  2. COLUMN CELL
  3.  info:age imestamp=1394439539837, value=100
  4. 1 row(s) in 0.0050 seconds

 可以看到,虽然加了VERSIONS,但get的结果是1条;这就是因为建表时默认的VERSION是1.
修改VERSIONS:

 

  1. hbase(main):029:0> alter 'member',{NAME=>'info','VERSIONS'=>2}
  2. Updating all regions with the new schema...
  3. 0/1 regions updated.
  4. 1/1 regions updated.
  5. Done.
  6. 0 row(s) in 2.1680 seconds

 

 
 
  1. hbase(main):046:0> put 'member','wanglei','info:age','101'
  2. 0 row(s) in 0.0590 seconds
  3. hbase(main):047:0> get 'member','wanglei',{COLUMN=>'info:age'}
  4. COLUMN CELL
  5.  info:age timestamp=1394441161595, value=101
  6. 1 row(s) in 0.0120 seconds

   那么现在就可以把倆条记录get出来了,如下:
  

  1. hbase(main):049:0> get 'member','wanglei',{COLUMN=>'info:age',TIMERANGE=>[1394439539837,1394441161596],VERSIONS=>2}
  2. COLUMN CELL
  3.  info:age timestamp=1394441161595, value=101
  4.  info:age timestamp=1394439539837, value=100
  5. 2 row(s) in 0.0080 seconds

 

分享到:
评论

相关推荐

    hadoop和HBase常用shell命令

    Hadoop 和 HBase 常用 shell 命令 在大数据处理中,Hadoop 和 HBase 是两个非常重要的组件。Hadoop 是一个分布式计算框架,用于处理大规模数据,而 HBase 是一个基于 Hadoop 的分布式数据库,用于存储和处理大规模...

    hbase_shell操作命令汇总

    这些是HBase Shell中最基础且最常用的命令。在实际使用中,你可能还需要了解更多的命令,如`list`(列出所有表)、`compact`(压缩表数据)等,以及更复杂的过滤和操作选项。熟练掌握这些命令将有助于你高效地管理和...

    hbase shell常用命令汇总

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

    hbase shell常用命令

    ### HBase Shell 常用命令详解 #### 一、概述 HBase 是一个分布式的、面向列的开源数据库,其设计受到了 Google 的 Bigtable 的启发。它非常适合于非结构化数据存储,提供了高可靠性、高性能、面向列、可伸缩等特点...

    Hbase shell常用命令.docx

    以下是对HBase Shell中一些常用命令的详细说明: 1. **创建表**: `create '表名称', '列族名称 1','列族名称 2','列族名称 N'` 这个命令用于创建一个新的HBase表。表名称是你自定义的字符串,列族名称则是表中...

    HDFS_HBaseShell的常用命令

    HDFS_HBaseShell的常用命令 HDFS(Hadoop Distributed File System)是一种分布式文件系统,主要用于存储和管理大规模数据。HBase 是一个基于HDFS的NoSQL数据库,用于存储和管理大规模结构化和半结构化数据。HBase ...

    hadoop hbase_shell操作命令

    下面我们将深入探讨HBase Shell的一些常用操作命令。 1. **创建表**: 使用 `create` 命令可以创建HBase表。例如,创建一个名为'member'的表,包含'member_id'、'address'和'info'三列族: ```shell create '...

    hbase基本概念和hbase shell常用命令用法

    以下是一些常用的HBase Shell命令: 1. **create**:创建表,如`create 'testTable', 'cf'` 创建一个名为testTable的表,包含一个列族cf。 2. **put**:向表中插入数据,如`put 'testTable', 'row1', 'cf:q1', '...

    Hadoop技术-HBaseShell常用命令.pptx

    HBase Shell常用命令 HBase Shell是Hadoop技术中的一个重要组件,用于管理和操作HBase数据库。以下是HBase Shell的常用命令,分为一般操作、数据定义语言(DDL)操作和数据操作语言(DML)操作三大类。 一般操作 ...

    hbase shell命令详解

    以上只是HBase Shell常用的一些命令,实际上还有更多高级操作,如过滤器、性能调优等。熟练掌握这些命令,将有助于更好地管理和维护HBase数据库。在实际工作中,根据具体需求,结合HBase的API和Shell,可以实现各种...

    Hbase shell及常用命令

    HBase shell及常用命令 HBase Shell是HBase数据库的命令行工具,用户可以使用HBase Shell与HBase进行交互。HBase Shell是一个封装了Java客户端API的JRuby应用软件,在HBase的HMaster主机上通过命令行输入hbase ...

    HBASE具体操作指令

    下面将对HBase shell commands进行分类和详细解释。 一、General HBase shell commands 1. status:显示集群状态,支持三种模式:summary、simple、detailed。 示例:hbase&gt; status、hbase&gt; status 'simple'、...

    HBASE 常用shell命令,增删改查方法

    在本文中,我们将深入探讨HBase的Shell命令,特别是针对数据的增删改查操作。HBase是一个基于列族的分布式存储系统,广泛应用于大数据处理领域。它与传统的关系型数据库不同,更适合处理大规模稀疏数据。通过HBase的...

    实验三:熟悉常用的HBase操作

    实验的目标是让你理解HBase在Hadoop架构中的地位,以及掌握通过Shell命令和Java API进行基本操作的方法。 首先,让我们来看看实验的平台配置。实验要求的操作系统是Linux,这通常是大数据处理的首选平台,因为它...

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

    2. **熟练使用HBase操作常用的Shell命令**:通过HBase Shell,用户可以执行诸如创建表、插入数据、查询数据、删除表等一系列管理操作。 3. **熟悉HBase操作常用的Java API**:Java API允许开发者在应用程序中直接与...

    HBase Shell常用命令和基本操作(附带实例)

    HBase Shell 提供了大多数的 HBase 命令,通过 HBase Shell,用户可以方便地创建、删除及修改表,还可以向表中添加数据,列出表中的相关信息等。本节介绍一些常用的命令和具体操作,并讲解如何使用命令行实现一个...

    大数据+Hbase shell 常用操作命令

    下面将详细介绍HBase shell中的一些常用操作命令。 1. **创建表**: 使用`create`命令创建表,例如创建一个名为`user`的表,包含`info`和`data`两个列族: ```bash create 'user',{NAME =&gt; 'info', VERSIONS =&gt; ...

    hadoop2安装和常用shell命令

    ### Hadoop2安装与常用Shell命令详解 #### Hadoop2安装步骤 在开始Hadoop2的安装之前,首先需要确保所有节点的操作系统版本为CentOS/Red Hat Linux 6.4_x64,并且每台服务器都已完成基本的系统配置。 ##### 系统...

Global site tag (gtag.js) - Google Analytics