hbase简介
–HBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库
–利用HadoopHDFS作为其文件存储系统,利用HadoopMapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务
–主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库) hbase是一种搭建在hadoop上的数据库。依靠hadoop来实现数据访问和数据可靠性。hbase是一种以低延迟为目标的在线系统,而hadoop是一种为吞吐量优化的离线系统。互补可以搭建水平扩展的数据应用。
下载
http://mirror.bit.edu.cn/apache/hbase/2.1.0/
下载java
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html 解压到安装目录 centos 7不支持java 32位,要下载64位,否则报错 [root@bogon software]# tar -zxvf jdk-8u101-linux-x64.tar.gz -C /usr/local/java/
安装完毕之后在/etc/profile文件末尾添加
[root@bogon software]# vim /etc/profile export JAVA_HOME=/usr/local/java/jdk1.8.0_101 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
使/etc/profile生效
[root@bogon jdk1.8.0_101]# source /etc/profile
####配置 (2)设置环境变量
另外,我们需要设置一些环境变量。修改HBase下的conf目录中的hbase-env.sh文件(你的jdk路径可能不一样):
export JAVA_HOME=/usr/local/jdk1.7.0_67
export HBASE_MANAGES_ZK=true ####启动
./start-hbase.sh
####进入命令行
./hbase shell
####停止
./stop-hbase.sh
建立表
create 'member','m_id','address','info'
####查看表描述 hbase(main):028:0> describe 'member'
####can浏览表中数据 scan 'member'
####删除表
用drop命令可以删除表。在删除一个表之前必须先将其禁用。
hbase(main):018:0> disable 'emp' 0 row(s) in 1.4580 seconds
hbase(main):019:0> drop 'emp' 0 row(s) in 0.3060 seconds
使用exists 命令验证表是否被删除。
hbase(main):020:0> exists 'emp' Table emp does not exist
0 row(s) in 0.0730 seconds
drop_all
这个命令是用来在给出删除匹配“regex”表。它的语法如下:
hbase> drop_all ‘t.*’
demo
create 't1', {NAME => 'f1', VERSIONS => 1}, {NAME => 'f2', VERSIONS => 1}, {NAME => 'f3', VERSIONS => 1} 定义表的时候只需要指定column family的名字,列名在put的时候动态指定 插入数据 下面插入没有指定column的名字 put 't1', 'r1', 'f1', 'v1' put 't1', 'r2', 'f2', 'v2' put 't1', 'r3', 'f3', 'v3'
下面插入指定column的名字 put 't1', 'r4', 'f1:c1', 'v1' put 't1', 'r5', 'f2:c2', 'v2' put 't1', 'r6', 'f3:c3', 'v3'
hbase(main):245:0> scan 't1' 删除 delete 'filter1','cat_id:1|sub_cat:12','brand_id:95' deleteall 'tableName','rowkey' —— 根据rowkey删除表。
清空表内数据 truncate 'FaceBase'【表名】
增加columns disable '表名' alter '表明', NAME => '列名', VERSIONS =>3 enable '表名'
(adsbygoogle = window.adsbygoogle || []).push({});