一. 介绍
HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。
HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族/列簇(column family)。
在这里插入图片描述
如上图所示,key1, key2, key3是三条记录的唯一的row key值,column-family1, column-family2, column-family3是三个列族,每个列族下又包括几列。比如 column-family1这个列族下包括两列,名字是column1和column2。t1:abc,t2:gdxdf是由row key1和column-family1-column1唯一确定的一个单元cell。这个cell中有两个数据,abc和gdxdf。两个值的时间戳不一样,分别是t1,t2, hbase会返回最新时间的值给请求者。

二. 安装

下载HBase最新版本,放到合适的目录,比如/usr/local 或 /opt

之后解压

tar -zxvf hbase-x.y.z tar.gz

三. 命令行操作

进入解压后的目录,开启hbase,启动hbase shell

bin/start-hbase.sh
bin/hbase shell

输入 help 可以看到命令分组
在这里插入图片描述
部分命令清单
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190527105923733.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI1N

下边分组举例

general操作

查询服务器状态 status
在这里插入图片描述
查询hbase版本 version
在这里插入图片描述
ddl操作
在这里插入图片描述

  1. 创建一个表

create ‘table1’, ‘tab1_id’, ‘tab1_add’, ‘tab1_info’

  1. 列出所有的表

list
在这里插入图片描述
3. 获得表的描述

describe “table1”
在这里插入图片描述
4. 删除一个列族 disable alter enable

disable ‘table1’
alter ‘table1’, {NAME=>‘tab1_add’, METHOD=>‘delete’}
enable ‘table1’

  1. 查看表是否存在

exists ‘table2’
在这里插入图片描述
6. 判断表是否为‘enable’

is_enabled ‘table1’

判断表是否为‘disable’

is_disabled ‘table1’

  1. 删除一个表
    disable ‘table1’
    drop ‘table1’

dml操作

  1. 插入几条记录
    在这里插入图片描述
  2. 全表扫描 scan
    在这里插入图片描述
  3. 获得数据 get

3.1 获得一行的所有数据
在这里插入图片描述
3.2 获得某行,某列族的所有数据
在这里插入图片描述
3.3 获得某行,某列族,某列的所有数据
在这里插入图片描述
4. 更新一条记录 put(把scutshuxue年龄改为99)
put ‘member’, ‘scutshuxue’, ‘info:age’, 99

  1. 删除 delete、 deleteall
    5.1 (删除行’scutshuxue’, 列族为‘info’ 中age的值
    delete ‘member’, ‘scutshuxue’, ‘info:age’

5.2 删除整行
deleteall ‘member’, ‘scutshuxue’

  1. 查询表中有多少行
    count ‘member’

  2. 给‘xiaoming’这个id增加’info:age’字段,并使用counter实现递增
    incr ‘member’, ‘xiaoming’, ‘info:age’

  3. 将整个表清空
    truncate ‘member’
    在这里插入图片描述

相关文章: