文档章节

hadoop中HBase子项目入门讲解

afreon
 afreon
发布于 2015/01/16 15:18
字数 1067
阅读 64
收藏 2
点赞 0
评论 0

        HBase 提供了一个类似于mysql等关系型数据库的hbase shell,通过该hbase shell可以对HBase的内的相关表、列族等进行操作;HBase shell的help命令比较详细的列介绍了HBase所支持的命令.具体使用方法可以参见其API文档。

        在这里简单举个学生表scores的案例进行讲解,表数据如下:

name grad      course:math   course:english
Tom    1      89           97
Jerry  2          100          90

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

下面列出常使用的hbase shell 命令如下:

名称

命令表达式

创建表

create '表名称', '列名称1','列名称2','列名称N'

添加记录      

put '表名称', '行名称', '列名称:', '值'

查看记录

get '表名称', '行名称'

查看表中的记录总数

count  '表名称'

删除记录

delete  '表名' ,'行名称' , '列名称'

删除一张表

先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'

查看所有记录

scan "表名称"  

查看某个表某个列中所有数据

scan "表名称" , ['列名称:']

更新记录 

就是重写一遍进行覆盖



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,89>

hbase(main):006:0> put 'scores', 'Tom', 'course:math', '89'
0 row(s) in 0.0040 seconds

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

hbase(main):007:0> put 'scores', 'Tom', 'course:english', '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这一行的数据的列族添加一列 <english,90>

hbase(main):010:0> put 'scores', 'Jerry', 'course:english', '90'
0 row(s) in 0.0050 seconds

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

hbase(main):011:0> get 'scores', 'Tom'
COLUMN                       CELL
      course:english                  timestamp=1224726394286, value=97
      course:math                 timestamp=1224726377027, value=89
      grade:                      timestamp=1224726360727, value=1
3 row(s) in 0.0070 seconds



11、判断表是否enable

hbase(main):012:0>is_enabled 'scores'
true
0 row(s) in 0.0110seconds

12、判断表是否disable

hbase(main):013:0>is_disabled 'scores'
false
0 row(s) in 0.0110seconds

13、删除表scores

hbase(main):014:0>disable 'scores'
0 row(s) in 2.0590seconds
 
hbase(main):030:0>drop 'scores'
0 row(s) in 1.1070seconds


14、查询表是否存在

hbase(main):015:0>exists 'scores'
Table scores doesexist                                                     
0 row(s) in 0.1610seconds


15、查看scores表中所有数据

hbase(main):016:0> scan 'scores'
ROW                          COLUMN+CELL
      Tom                         column=course:english, timestamp=1224726394286, value=97
      Tom                         column=course:math, timestamp=1224726377027, value=89
      Tom                         column=grade:, timestamp=1224726360727, value=1
      Jerry                        column=course:english, timestamp=1224726424967, value=90
      Jerry                        column=course:math, timestamp=1224726416145, value=100
      Jerry                        column=grade:, timestamp=1224726404965, value=2
6 row(s) in 0.0410 seconds

16、查看scores表中所有数据courses列族的所有数据

hbase(main):017:0> scan 'scores', ['course:']
ROW                          COLUMN+CELL
  Tom                         column=course:english, timestamp=1224726394286, value=97
  Tom                         column=course:math, timestamp=1224726377027, value=89
  Jerry                        column=course:english, timestamp=1224726424967, value=90
  Jerry                        column=course:math, timestamp=1224726416145, value=100
4 row(s) in 0.0200 seconds


本文转载自:http://blog.yoodb.com/yoodb/article/detail/1034

共有 人打赏支持
afreon
粉丝 20
博文 41
码字总数 5285
作品 0
海淀
架构师
八年磨一剑,重新定义HBase——HBase 2.0&阿里云HBase解读

摘要:2018年6月6日,阿里云ApsaraDB for HBase2.0正式发布!从2010年开始“试水”到2018年,拥有了3个PMC,6个Committer,拥有中国最多HBase Committer的公司之一的阿里巴巴是如何八年磨一剑...

Mr_zebra ⋅ 06/13 ⋅ 0

Sqoop数据导入到HBase遇上的问题及解决方法

  【IT168 技术】运行bin/sqoop import --connect jdbc:mysql://ip:port/database --username * --password **--hbase-bulkload --hbase-create-table --column-family info --hbase-row-k......

中国大数据 ⋅ 05/31 ⋅ 0

普及HBase,阿里云HBase团队在行动

一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server上搭建起...

所在jason ⋅ 05/23 ⋅ 0

企业打开云HBase的正确方式,来自阿里云云数据库团队的解读

摘要: 一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server...

阿里云云栖社区 ⋅ 05/31 ⋅ 0

win环境下 hbase 数据库搭建流程

Hbase单机版安装使用教程 Hbase介绍请参考技术支持文档,这里只说明Hbase 的安装和使用 第一步:下载安装Hbase数据库 链接:链接:https://pan.baidu.com/s/1si6Nokvz8xkUsmefsRlntQ 密码:k...

lijiaweizuishuai ⋅ 05/28 ⋅ 0

Apache HBase 2.0.0 发布,Hadoop 数据库

Apache HBase 2.0.0 发布了,HBase 2.0.0 是 HBase 的第二个主要版本。 此次更新信息如下: 一个新的区域分配管理器(“AMv2”), 用于配置读取和/或写入路径以运行堆外的装置,以及可选的内...

雨田桑 ⋅ 05/03 ⋅ 0

记一次测试环境Hbase数据备份恢复以及恢复后部分表无法删除的问题处理

一、Hbase数据备份恢复 说明: 因为测试环境要修改hadoop配置文件hdfs-site.xml的参数hdfs.rootdir 修改前的配置 hbase.rootdir hdfs://masters/hbase1 修改后的配置 hbase.rootdir hdfs://m...

断臂人 ⋅ 06/15 ⋅ 0

hadoop及hbase集群启停的几种方式

1、生产环境集群 2、web管理页面 hadoop web管理页面(主备) http://192.168.10.101:50070 http://192.168.10.102:50070 hbase web管理页面(主备) http://192.168.10.101:16010 http://1......

断臂人 ⋅ 06/07 ⋅ 0

Spark Streaming入门

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文将帮助您使用基于HBase的Apache Spark Streaming。Spark Streaming是Spark API核心的一个扩展,支持连续的数据流处理。 什么...

腾讯云加社区 ⋅ 05/16 ⋅ 0

HIVE和HBASE之间,主要的区别是什么?

  【IT168 评论】Apache Hive是一个构建在hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hiv...

中国大数据 ⋅ 05/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android JNI 读写Bitmap的方法

Java层创建Bitmap,通过JNI将Bitmap传到C/C++进行处理 Java部分 public static native boolean greenBitmap(Bitmap bitmap); C/C++部分 JNIEXPORT jboolean JNICALL Java_com_test_Test_gree......

国仔饼 ⋅ 13分钟前 ⋅ 0

一次性让你懂async/await,解决回调地狱

什么是async? 欢迎留言讨论 async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。相较于 Generator,async 函数的改进在于下面四点: 内置执...

阿K1225 ⋅ 14分钟前 ⋅ 0

angular常用命令

.下载更新操作 1.利用npm下载angular的命令行工具AngularCLI: npm install -g @angular/cli 2.下载jquery: npm install --save jquery 3.更新npm: npm i -g npm 4.更新angular: ng update ......

消散了的诗意 ⋅ 16分钟前 ⋅ 0

window.print 页面打印

定义和用法 print() 方法用于打印当前窗口的内容。 语法 window.print(); window.print() 实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型...

初学者的优化 ⋅ 17分钟前 ⋅ 0

魔兽世界 7.0版本上 PVE装备全攻略

  T套 因为大家应该都会打穿副本的所以具体是哪个boss我就不说了。   T1: 所有套装都在【熔火之心】出   T2: 头原来是在【奥妮克希亚的巢穴】改到黑翼之巢的奈法利安了,腿是在【熔火之...

wangchen1999 ⋅ 17分钟前 ⋅ 0

java.math.BigDecimal使用小结

原文地址 java.math.BigDecimal使用小结 divide方法 使用BigDecimal.divide方法时一定要考虑: 除数是否为0 商是否是无限小数 正确的使用方式 判断除数是否为0,是0做另外的处理逻辑 调用除法...

666B ⋅ 20分钟前 ⋅ 0

关于qstring转char乱码问题。

if (OpenClipboard(NULL)) { HGLOBAL hgClip; EmptyClipboard(); QByteArray byay = FValue.toLocal8Bit(); //转latin编码 char *bochsrc_line = byay.data(); hgClip = GlobalAlloc(GMEM_DD......

backtrackx ⋅ 20分钟前 ⋅ 0

了解SSH加密和连接过程

介绍 SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和...

吴伟祥 ⋅ 26分钟前 ⋅ 0

微信小程序

小程序的全局配置app.json 微信小程序的全局配置保存在app.json文件中。开发者通过使用app.json来配置页面文件(pages)的路径、窗口(window)表现、设定网络超时时间值(networkTimeout)以...

上官清偌 ⋅ 30分钟前 ⋅ 0

【转】百度坐标坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 *///定义一些常量var x_PI = 3.1415926535897932...

HAVENT ⋅ 31分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部