hadoop初级班(四)

参考《hadoop权威指南》和炼数成金视频系列

这一节来介绍hadoop中的数据库hbase

hadoop初级班(四)_第1张图片

他是一个列式数据库,根据行健来进行查询,有时间戳,所以根据时间查很方便。比如删除或更新这种操作,是加入一个删除的记号,某个行键某个时刻被删除了,这主要是因为他是基于HDFS的,HDFS对于修改来说是很麻烦的,所以hbase采用了新建一个文件这种奇怪的方式。

hbase的安装:采用伪分布模式:

1.下载及解压hbase的安装包(tar包,安装版本根据hadoop来选择,这个可以在网上查)

2.修改conf/hbase-env.sh脚本,设置环境变量

修改JAVA_HOME环境变量

修改HBASE_CLASSPATH环境变量(用于斑竹hbase找到hadoop)


3.编辑hbase-site.xml进行配置


先创建用于存放数据的目录/home/grid/hbase-0.90.5/data


4.覆盖hadoop核心jar包,这是关键一步,主要目的是防止因为hbase和hadoop版本不同出现兼容问题,造成hmaster启动异常


5.启动hbase(运行start.sh)。验证Hmaster已经启动(jps)

hadoop初级班(四)_第2张图片

6.进入shell

hbase shell进入


hbase怎么对数据操作呢?两种方式

1、使用上面所说的shell,使用shell命令,不能运行大多数SQL命令,只能用一些简单的hSQL命令

查询数据库状态:

help帮助

status 可以看到集群有多少服务器,死了多少,负荷多少

version 版本

创建表:create 'member(表名)','member_id'(列族名),'address'(列族名),'info'(列族名)

list 查看表信息   describe 'member'描述表member

alter 'member',{NAME=>'member_id',METHOD=>'delete'}

注意先disable 'member'先离线再操作

drop 'temp_table'删除表

检查一个表是否在 exists'table'

插入数据:

hadoop初级班(四)_第3张图片


xiaofeng是行键,后面是列族(info,address),列族里的列包括age,birthday等,后面跟着value

查询:

hadoop初级班(四)_第4张图片

指定行键即可,当然只对某个行键里的某个列族查询也可

删除指定行键的字段:


查询表中有多少行:count'member'

清空表:truncate'member'

2、API 提供了很多的API接口

hadoop权威指南3—5章

http://habse.apache.org/apidocs/index.html



什么情况下使用Hbase?

成熟的数据分析主题,查询模式已经确立并且不轻易改变

传统的关系型数据库已经无法承受负荷,高速插入,大量读取

适合海量的但同时也是简单的操作,key-value型







你可能感兴趣的:(hadoop初级班(四))