Hbase快速开始——shell操作
2016-03-15 17:58
363 查看
一. 介绍
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
之后解压
三. 命令行操作
进入解压后的目录,开启hbase,启动hbase shell
输入 help 可以看到命令分组
部分命令清单
下边分组举例
general操作
查询服务器状态 status
查询hbase版本 version
ddl操作
1. 创建一个表
2. 列出所有的表
3. 获得表的描述
4. 删除一个列族 disable alter enable
5. 查看表是否存在
6. 判断表是否为‘enable’
判断表是否为‘disable’
7. 删除一个表
dml操作
1. 插入几条记录
2. 全表扫描 scan
3. 获得数据 get
3.1 获得一行的所有数据
3.2 获得某行,某列族的所有数据
3.3 获得某行,某列族,某列的所有数据
4. 更新一条记录 put(把scutshuxue年龄改为99)
5. 删除 delete、 deleteall
5.1 (删除行'scutshuxue', 列族为‘info' 中age的值
5.2 删除整行
6. 查询表中有多少行
7. 给‘xiaoming’这个id增加'info:age'字段,并使用counter实现递增
8. 将整个表清空
tools操作
1. 创建一个表
四. 参考
http://smallwildpig.iteye.com/blog/1705718
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 可以看到命令分组
部分命令清单
下边分组举例
general操作
查询服务器状态 status
查询hbase版本 version
ddl操作
1. 创建一个表
create 'table1', 'tab1_id', 'tab1_add', 'tab1_info'
2. 列出所有的表
list
3. 获得表的描述
describe "table1"
4. 删除一个列族 disable alter enable
disable 'table1' alter 'table1', {NAME=>'tab1_add', METHOD=>'delete'} enable 'table1'
5. 查看表是否存在
exists 'table2'
6. 判断表是否为‘enable’
is_enabled 'table1'
判断表是否为‘disable’
is_disabled 'table1'
7. 删除一个表
disable 'table1' drop 'table1'
dml操作
1. 插入几条记录
3. 获得数据 get
3.1 获得一行的所有数据
3.2 获得某行,某列族的所有数据
3.3 获得某行,某列族,某列的所有数据
4. 更新一条记录 put(把scutshuxue年龄改为99)
put 'member', 'scutshuxue', 'info:age', 99
5. 删除 delete、 deleteall
5.1 (删除行'scutshuxue', 列族为‘info' 中age的值
delete 'member', 'scutshuxue', 'info:age'
5.2 删除整行
deleteall 'member', 'scutshuxue'
6. 查询表中有多少行
count 'member'
7. 给‘xiaoming’这个id增加'info:age'字段,并使用counter实现递增
incr 'member', 'xiaoming', 'info:age'
8. 将整个表清空
truncate 'member'
tools操作
1. 创建一个表
四. 参考
http://smallwildpig.iteye.com/blog/1705718
相关文章推荐
- 静默调用ShellContextMenu 实现QQ文件共享
- shell 获取时间
- 用shell编程实现打印九九乘法表
- linux shell 系列 sed 命令基本用法实例-①set命令选项的应用案例
- -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file
- 在windows下编辑好Shell脚本,在Linux中运行
- shell 批量删除垃圾数据
- shell【分发系统】
- 一些Linux shell
- 一些Linux shell
- Linux修改Shell命令提示符及颜色
- Linux shell
- Linux shell 脚本小记
- shell命令-read
- linuxshell 系列 sed 命令基本用法
- git bash使用(markdown版)
- windows server 2008 R2服务器无法通过ShellClass获取mp3音乐时长
- 手机离线Monkey测试(shell语言版)
- Shell重定向
- shell脚本:利用7z备份git项目