分布式数据库HBase 中的增删查改基本操作
分布式数据库HBase 中的增删查改基本操作
一、HBase介绍
HBase是一个分布式的、面向列的开源数据库,源于Google的一篇论文《BigTable:一个结构化数据的分布式存储系统》。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇(column family)。
欲了解HBase的官方资讯,请访问[HBase官方网站](http://hbase.apache.org/)。
HBase的运行有三种模式:单机模式、伪分布式模式、分布式模式。
单机模式:在一台计算机上安装和使用HBase,不涉及数据的分布式存储;
伪分布式模式:在一台计算机上模拟一个小的集群;
分布式模式:使用多台计算机实现物理意义上的分布式存储。
二、增删查改基本操作
1、创建一个表 student:create 'student','name','age','sex'
注意:HBase的表中会有一个系统默认的属性作为行键,无需自行创建,默认为put命令操作中表名后第一个数据。
- describe命令查看“student”表的基本信息:describe 'student'
- list 命令可列出HBase 中的所有表
2、添加数据
HBase中用put命令添加数据,如:put 'student','2015001','name','zhangsan'
注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据,
所以直接用shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据。
3、查看数据
HBase中有两个用于查看数据的命令:
1. scan 命令,用于查看某个表的全部数据;
2. get 命令,用于查看表的某一行数据
例1、scan:显示 student 表 中的所有信息:scan 'student'
例2、显示行键为 2015001 的学生信息:get 'student','2015001'
4、修改数据
例、将 行键 为 2015003 的学生 age 改为 25:put 'student','2015003','age','25'
5、删除数据
HBase中有三个用于删除数据的命令:
1. deleteall 操作用于删除一行数据;
2. delete 操作用于删除一个数据,是put的反向操作;
3. truncate 'student' 用于删除student 表的所有数据
例1、删除 行键 为 2015002 的学生信息:deleteall 'student','2015002'
例2:删除 行键 为 2015004 的学生的age 信息:delete 'student','2015004',’age’
例3、清空 student 表:truncate 'student'
6、删除表
删除表有两步,
第一步先让该表不可用:disable 'student'
第二步删除表:drop 'stuent'
(enable/disable : 使表有效或无效)
注:
启动关闭Hadoop和HBase的顺序一定是:
启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop