HBase 表结构 学习篇 (三)

  • Post author:
  • Post category:其他


HBase 它是建立在Hadoop文件系统(HDFS)之上的分布式面向列的数据库。提供对数据的随机实时读/写访问。在表中由行排序,表模式定义只能是列族,也就是键值对。一个表格有多个列族以及每个列族可以有任意数量的列。后续列的值连续地存储在磁盘上,表中每个单元格都具有时间戳。

一、HBase 主要用来存储大量数据(海量)。先使用shell命令建立表格:

1.创建表 lxp 和两个列族cf1和cf2

命令:create ‘lxp’  ,{NAME=>’cf1′},{NAME=>’cf2′}

通过web端口可以查看到刚建的表和列族


2. 向表中添加数据

这样一个基本的表格就完成了,但是因为HBase是非关系型数据库,所以理解起来不太方便。那就按照刚建的表画张图吧,这样也便于理解。

3.根据表画图

表有两个列族,cf1和cf2,其中cf1和cf2下分别对应下面的列name和age,sex和height (后面还有一个默认的TimeStamp(时间戳)列,每一个TimeStamp都是与列绑定的)

4.使用 scan ‘lxp’查看表中的所有数据,再来感受一下。


二、相同的RowKey

如果我们再向lxp表中插入一条数据,如下图所示:

时间戳为T2的数据并不会覆盖时间戳为T1的那条数据,(刚开始理解错误,还好黄兄指导)

其实上面的表格也可以这么来画

三、最后附一下:shell 常用命令


操作


命令表达式


注意


创建表


create ‘table_name, ‘family1′,’family2′,’familyN’


添加记录


put ‘table_name’, ‘rowkey’, ‘family:column’, ‘value’


查看记录


get ‘table_name’, ‘rowkey’


查询单条记录,也是


hbase


最常用的命令


查看表中的记录总数


count  ‘table_name’


这个命令并不快,且目前没有找到更快的方式统计行数


删除记录


delete ‘table_name’ ,’rowkey’,’family_name:column’

deleteall ‘table_name’,’rowkey’


第一种方式删除一条记录单列的数据



第二种方式删除整条记录


删除一张表


1





disable ‘table_name’


2





drop ‘table_name’


查看所有记录


scan “table_name” ,{LIMIT=>10}


LIMIT=>10


只返回


10


条记录,否则将全部展示

总结:

好好学习,天天向上!

—————长按二维码关注程序媛小姐姐公众号有更多彩蛋哦—————



版权声明:本文为qq_36189144原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。