Hbase教程(二) Hbase数据库Shell命令

原创 2016年06月02日 00:16:04

 

 

Hbase教程() Hbase数据库Shell命令



1 Hbase- Shell命令

   Hbase是分布式是一个分布式的、面向列的开源数据库,Hbase也提供了Shell命令对数据库增、删、改、查的权限的基本操作,比如数据库的创建、修改、删除、修改操作等,数据的插入、删除、修改等。

执行命令:hbase shell,进入Hbase数据库

     

 

1.1 hbase help帮助命令

   在命令行执行:help ['command'],查看帮助命令:

    

 

1.2 一般操作

1、status:查询服务器状态:

用法:status


 

2、whoami:查询当前用户:

用法:whoami


 

3、version:当前hbase使用的版本号:

用法:version


 

1.3 ddl操作

1、create:创建数据库表,创建命令可看帮助help 'create'

语法:create <table>, {NAME =><family>, VERSIONS => <VERSIONS>}

例示:create 'product',{NAME => 'computer', VERSIONS => 5},{ NAME => 'food' , VERSIONS => 3}

描述:创建一张名叫'product'数据库表,并且创建两个列族,分别为:'computer''food'

 

2、list:查看已经存在的表

用法:list


 

3、describe:查看表结构描述

用法:describe 'product'


 

4、alter:修改表

用法:修改表结构必须先disable,再修改表,修改完成后,再enable表。

disable 'product'

alter 'product',{NAME => 'food',VERSIONS=> 3}

enable 'product'

   

 

5、drop:删除表

用法:首先disable,然后drop

disable 'product'

drop 'product'

   

 

1.4 dml操作

1、put:插入数据

语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>

例示:put 'product','rowkey001',  'computer:name', 'ThinkPad E550'

再次插入数据:put'product', 'rowkey001',  'computer:price', 4199

描述:给表'product'的添加一行记录:rowkey'rowkey001'family name'computer'column name'name'value'ThinkPad E550'timestamp:系统默认

插入两条数据,实际上添加了两列,返回还是一条数据



 

2、scan:扫描表

   语法:scan <table>,{COLUMNS => [ <family:column>,.... ], LIMIT => num}

    Hbase存储数据是以二进制形式保存的,读取是没有问题的

   例示:scan 'product'

       

 

3、get:查询数据

   语法:get<table>,<rowkey>,[<family:column>,....]

   查询表productrowkey001中的computer下的cell的值

   例示:get 'product', 'rowkey001'

        

 

   例示:get'product','rowkey001',{COLUMN=>'computer:name'}

         

 

4、count:查询表中的数据行数

   语法:count <table>,{INTERVAL => intervalNum, CACHE => cacheNum}

    INTERVAL设置多少行显示一次及对应的rowkey,默认1000CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

   描述,查询表product中的行数,每100条显示一次,缓存区为500

   例示:

    count 'product'

    count 'product', {INTERVAL=> 10, CACHE => 1000}

   

 

5、delete:删除行中的某个列值

   语法:delete <table>,<rowkey>,  <family:column> , <timestamp>,必须指定列名

   描述:删除表productrowkey001中的computer:name的数据

 

   例示:

    delete 'product','rowkey001', 'computer:name'

 

6、deleteall:删除行中的某个列值

   语法:deleteall<table>, <rowkey>,  <family:column> , <timestamp>,可以不指定列名,删除整行数据 

   描述:删除表productrowkey001的数据

 

   例示:

    deleteall 'product','rowkey001'

 

 

7、truncate:删除表中的所有数据

   语法:truncate<table>

   描述:删除表product中所有的数据

 

   例示:

    truncate  'product'

 

 


1.5 version版本

1、同一条数据,我们往数据库添加多次,后面的数据会覆盖原来的数据

     例如:往'food'列族中插入一些price数组。

      put 'product', 'rowkey001',  'food:name', 'orange'

      put 'product', 'rowkey001',  'food:price', 4.5

      put 'product', 'rowkey001',  'food:price', 5.0

      put 'product', 'rowkey001',  'food:price', 5.5

 

     扫描述表,查看数据:scan'product'


 

2、查看被覆盖的历史数据

示列:


 

3、version版本,在创建'food'列族时,设置为值3,再添加一条数据price值为6.0的数据,第一次插入的price值为4.5值,不会出现。

插入数据price值为6.0的数据:

    put 'product','rowkey001',  'food: price', 6.0


 

4、查看已经被删除的数据

内存不回收时使用如下语句可以查询,如果查询不到,说明已经被真正删除了

scan 'product',{RAW => true,COLUMNS =>'food', VERSIONS => 3 }

 

 

 


                --以上为《Hbase教程(二) Hbase数据库Shell命令》,如有不当之处请指出,我后续逐步完善更正,大家共同提高。谢谢大家对我的关注。

                                                                                                                                                                                      ——厚积薄发(yuanxw)


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HBase 简单SQL查询

如何简化从hbase中查询数据 为了兼容以前从关系型数据库中查询数据的接口, 让hbase可以通过sql语句来查询其中的数据. hive有这样的功能, 他支持通过类似sql语句的语法来操作hba...

Hbase数据库中表的操作命令简介 Hbase shell命令

进入hbase命令行 ./hbase shell 显示hbase中的表 list 创建user表,包含info、data两个列族 create 'user', 'info1', ...

HBase基本数据操作详解【完整版,绝对精品】

转载 http://blog.csdn.net/u010967382/article/details/37878701 概述 对于建表,和RDBMS类似,HBase也有namespace的概念...

Hbase总结(四)- Hbase与传统数据库的区别

在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了,...

hbase入门 一些简单的查询语句

这里我们用一个学生成绩表作为例子,对HBase的基本操作和基本概念进行讲解: 下面是学生的成绩表: name     grade      course:math   course:art ...
  • Honeybb
  • Honeybb
  • 2012年05月24日 23:54
  • 6445

HBase基本数据操作详解

HBase基本数据操作详解【完整版,绝对精品】 存储,xue'x 原文:  http://blog.csdn.net/u010967382/article/details/37878701...

HBase shell 命令创建表及添加数据操作

创建表,表名hbase_1102,HBase表是由Key-Value组成的,此表中Key为NAME 此表有两个列族,CF1和CF2,其中CF1和CF2下分别有两个列name和gender,Chi...

HBase常用操作之namespace

在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持name...
  • opensure
  • opensure
  • 2015年06月12日 14:04
  • 23726

Hbase与Oracle比较(列式数据库与行式数据库)

1、 Hbase适合大量插入同时又有读的情况 2、 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间。   Hbase本质上只有一种操作,就是插入,其更新操作是插入一个带有新的时间...
  • allen879
  • allen879
  • 2014年10月26日 21:17
  • 17236

分布式开源数据库_HBase入门介绍

本文简单介绍了HBase的基础概念,物理模型,存储模型,系统架构。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hbase教程(二) Hbase数据库Shell命令
举报原因:
原因补充:

(最多只允许输入30个字)