`
yeshaoting
  • 浏览: 668658 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HBASE一些简单的查询语句

 
阅读更多

 

HBASE一些简单的查询语句

http://blog.csdn.net/sustbeckham/article/details/6631790

 

 这里我们用一个学生成绩表作为例子,对HBase的基本操作和基本概念进行讲解:

 

下面是学生的成绩表:

name grad      course:math   course:art

Tom    1                87                    97

 

Jerry   2            100                  80

 

        这里grad对于表来说是一个列,course对于表来说是一个列族,这个列族由两个列组成:math和art,当然我们可以根据我们的需要在course中建立更多的列族,如computer,physics等相应的列添加入course列族.

 

        有了上面的想法和需求,我们就可以在HBase中建立相应的数据表啦!

 

1, 建立一个表格 scores 具有两个列族grad 和courese

 

hbase(main):002:0> create 'scores', 'grade', 'course'

 

0 row(s) in 4.1610 seconds

 

2,查看当先HBase中具有哪些表

 

hbase(main):003:0> list

 

scores

 

1 row(s) in 0.0210 seconds

 

3,查看表的构造

 

hbase(main):004:0> describe 'scores'

 

{NAME => 'scores', IS_ROOT => 'false', IS_META => 'false', FAMILIES => [{NAME => 'course', BLOOMFILTER => 'false', IN_MEMORY => 'false', LENGTH => '2147483647', BLOCKCACHE => 'false', VERSIONS => '3', TTL => '-1', COMPRESSION => 'NONE'}, {NAME => 'grade', BLOOMFILTER => 'false', IN_MEMORY => 'false', LENGTH => '2147483647', BLOCKCACHE => 'false', VERSIONS => '3', TTL => '-1', COMPRESSION => 'NONE'}]}

 

1 row(s) in 0.0130 seconds

 

4, 加入一行数据,行名称为 Tom 列族grad的列名为”” 值位1

 

hbase(main):005:0> put 'scores', 'Tom', 'grade:', '1'

 

0 row(s) in 0.0070 seconds

 

5,给Tom这一行的数据的列族添加一列 <math,87>

 

hbase(main):006:0> put 'scores', 'Tom', 'course:math', '87'

 

0 row(s) in 0.0040 seconds

 

6,给Tom这一行的数据的列族添加一列 <art,97>

 

hbase(main):007:0> put 'scores', 'Tom', 'course:art', '97'

 

0 row(s) in 0.0030 seconds

 

7, 加入一行数据,行名称为 Jerry 列族grad的列名为”” 值位2

 

hbase(main):008:0> put 'scores', 'Jerry', 'grade:', '2'

 

0 row(s) in 0.0040 seconds

 

8,给Jerry这一行的数据的列族添加一列 <math,100>

 

hbase(main):009:0> put 'scores', 'Jerry', 'course:math', '100'

 

0 row(s) in 0.0030 seconds

 

9,给Jerry这一行的数据的列族添加一列 <art,80>

 

hbase(main):010:0> put 'scores', 'Jerry', 'course:art', '80'

 

0 row(s) in 0.0050 seconds

 

10,查看scores表中Tom的相关数据

 

hbase(main):011:0> get 'scores', 'Tom'

 

COLUMN                       CELL

 

course:art                  timestamp=1224726394286, value=97

 

course:math                 timestamp=1224726377027, value=87

 

grade:                      timestamp=1224726360727, value=1

 

3 row(s) in 0.0070 seconds

 

11,查看scores表中所有数据

 

hbase(main):012:0> scan 'scores'

 

ROW                          COLUMN+CELL

 

Tom                         column=course:art, timestamp=1224726394286, value=97

 

Tom                         column=course:math, timestamp=1224726377027, value=87

 

Tom                         column=grade:, timestamp=1224726360727, value=1

 

Jerry                        column=course:art, timestamp=1224726424967, value=80

 

Jerry                        column=course:math, timestamp=1224726416145, value=100

 

Jerry                        column=grade:, timestamp=1224726404965, value=2

 

6 row(s) in 0.0410 seconds

 

12,查看scores表中所有数据courses列族的所有数据

 

hbase(main):013:0> scan 'scores', ['course:']

 

ROW                          COLUMN+CELL

 

Tom                         column=course:art, timestamp=1224726394286, value=97

 

Tom                         column=course:math, timestamp=1224726377027, value=87

 

Jerry                        column=course:art, timestamp=1224726424967, value=80

 

Jerry                        column=course:math, timestamp=1224726416145, value=100

 

4 row(s) in 0.0200 seconds

 

        上面就是HBase的基本shell操作的一个例子,可以看出,hbase的shell还是比较简单易用的,从中也可以看出HBase shell缺少很多传统sql中的一些类似于like等相关操作,当然,HBase作为BigTable的一个开源实现,而BigTable是作为 google业务的支持模型,很多sql语句中的一些东西可能还真的不需要.

 

分享到:
评论

相关推荐

    HBase轻量级中间件simplehbase.zip

     动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。    insert,update支持: 建立在hbase的checkAndPut之上。    hbase多版本支持:提供接口可以对hbase多版本数据进行查询,映射。 ...

    hbase-sql:通过sql来查询hbase上的数据

    为了兼容以前从关系型数据库中查询数据的接口, 让hbase可以通过sql语句来查询其中的数据. hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度太慢了, 因为hive本身就不是用来查询数据的, ...

    hbase orm simplehbase v1.0

    动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。 insert,update支持: 建立在hbase的checkAndPut之上。 hbase多版本支持:提供接口可以对hbase多版本数据进行查询,映射。 hbase批量操作支持。 ...

    基于Mysql的表转HBase小Demo

    实现一个简单的基于Mysql的表转换成基于HBase的过程,只实现了Dao层的转换,包含实现文件和单元测试文件,简单、易上手,值得初学者使用

    hive 整合 hbase

    HBase是建立在HDFS上的面上列的数据库。...hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

    HBase在搜索网页库上的应用_360.pdf

    HBase在搜索网页库上的应用_360 HBase: 作为Hadoop的子项目,HBase是分布式,面向列的数据库,是在HFDS的基础上提供类似BigTable的功能; 适合非结构化数据存储的数据库,基于...不提供类似SQL语句支持,使用比较简单;

    大数据BI框架知识点备注.pdf

    4、聚合表,为了防⽌拆分成数据、维度表后简单查询也存在过多JOIN,⽽创建的中间表,本质上就是利⽤空间换时间;下述中导⼊hbase 中⽀持查询的就是这种聚合表; 数据采集: 1、可采⽤爬⾍的形式采集⽹络数据; 2、...

    大数据之运维.pptx

    Hive简介 Hive 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速...

    大数据学习计划.pdf

    在寄希望于⼤数据平台时,MapReduce 编程门槛让很多数据分析师望⽽却步,⽽Hive 是基于Hadoop的⼀个数据仓库⼯具,可以将结构化的数据⽂件映射为⼀张数据库表,并提供简单的sql查询功能,可以将sql语句转换为 ...

    jprofiler注册机11 可用.rar

     JProfiler的JDBC和JPA/Hibernate探测器以及MongoDB,Cassandra和HBase的NoSQL探测器显示了数据库访问缓慢以及代码缓慢的语句调用原因。从JDBC时间线视图显示所有与其活动的JDBC连接,通过热点视图,显示各种遥测...

    4399大数据笔试题.pdf

    有存储在Hive上的⼀张pay_log表 ser_name pay_money pay_date 1)使⽤SQL语句查询消费总额、消费总次数、消费最⼤的⾦额、消费最⼤的⾦额 2)使⽤SQL语句每⼀天当天消费的总⾦额 3)使⽤SQL语句对消费⾦额进⾏排名(⽤...

    NoSQL-Operators

    通过灵活的界面,用户还可以根据自己的需求执行简单和复杂的查询。 还可以通过SQL语句执行查询,从而为具有SQL语言基础知识的用户提供一种舒适的访问方式。 到目前为止,NoDA建立在MongoDB , HBase , Redis和...

    Apache_Hive_BasicCommands:该存储库包含Apache Hive中使用的所有基本指令命令

    Hive使SQL开发人员可以编写与数据查询和分析的标准SQL语句相似的Hive查询语言(HQL)语句。 它旨在简化MapReduce编程,因为您不必知道和编写冗长的Java代码。 相反,您可以在HQL中更简单地编写查询,然后Hive可以...

    java查看源码配置-EasyReport:AsimpleandeasytouseWebReportSystemforjava.EasyRep

    EasyReport是一个简单易用的Web报表工具,它的主要功能是把SQL语句查询出的数据转换成报表页面, 同时支持表格的跨行(RowSpan)与跨列(ColSpan)配置。 同时它还支持报表Excel导出、图表显示及固定表头与左边列的功能。...

    easyreport2

    EasyReport是一个简单易用的开源Web报表工具(支持Hadoop,HBase及各种关系型数据库),它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨行(RowSpan)与跨列(ColSpan)。同时它还支持报表...

    EasyReport报表工具-其他

    EasyReport是一个简单易用的Web报表工具,它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨行(RowSpan)与跨列(ColSpan)。同时它还支持报表Excel导出、图表显示及固定表头与左边列的...

    在python中使用pyspark读写Hive数据操作

    pyspark读取hive数据非常简单,因为它有专门的接口来读取,完全不需要像hbase那样,需要做很多配置,pyspark提供的操作hive的接口,使得程序可以直接使用SQL语句从hive里面查询需要的数据,代码如下: from pyspark...

    大数据学习笔记.pdf

    目录 第一部分 Spark学习 ....................................................................................................................... 6 第1章 Spark介绍 .........................................

    大数据的基础知识.pdf

    其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的 MapReduce应⽤,⼗分适合数据仓库的统计分析。 9 R语⾔ R是⽤于统计分析、绘图的语⾔和操作环境。R是属于GNU系统的⼀个⾃由、...

    Hadoop面试题(一)

    1、集群的最主要瓶颈   磁盘IO 2、Hadoop运行模式   单机版、伪分布式模式、完全...  4)Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单的sql 查询功能,可以将sql语句

Global site tag (gtag.js) - Google Analytics