扣丁学堂大数据培训之详解非关系型数据库HBase表结构

2018-09-11 15:06:44 356浏览

今天扣丁学堂大数据培训老师给大家介绍一下关于非关系型数据库HBase表结构的详细介绍,首先HBase–HadoopDatabase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利在廉价PCServer上搭建起大规模结构化存储集群,类似Google的Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop的HDFS作为其文件存储系统。HBase是一个NoSQL型数据库,用于处理海量数据,可以支持10亿行百万列的大表,下面我们就了解一下数据是如何存放在HBase表中的。

关系型数据库的表结构

为了更好的理解HBase表的思路,我们先回顾一下关系数据库中表的处理方式,作为药引子,引出HBase。

例如有一个用户表student,有字段:id、name、phone,表名和字段需要在建表时指定



然后插入两条数据,



表结构



后来字段不够用了,新用户需要记录地址,就要新增一个字段:addr




以后再增加需求时,就继续新增字段,或者添加一个扩展表,这是我们关系型数据库要做的操作。

通过上面的内容主要说明的是:

建表的方式,需提前指定表名和字段

插入记录的方式,指定表名和各字段的值

数据表是二维结构,行和列

添加字段不灵活

那接下来我们看一下HBase的处理方式

HBase的表结构

建表时要指定的是:表名、列族

建表语句



意思是新建一个表,名称是student,包含两个列族base_info和ext_info

列族又称列簇,是列的集合,一个列族中可以包含多个列

这时的表结构:



rowkey是行键,每一行的ID,这个字段是自动创建的,建表时不需要指定

插入一条用户数据:name为“aa”,phone为“12345678”

插入语句

这时的表结构:



再插入一条数据:name为‘bb’,addr为‘beijing’



这时的表结构:



HBase表中还有一个重要概念:版本,每个字段的值都有版本信息(通过时间戳指定)

例如base_info:name,每次修改时都会保留之前的值,就是说可以取到他的旧值

总结

从上面建表、插入数据的过程可以看出HBase存储数据的特点了:

和关系数据库一样,也是使用行和列的结构,建表时,定义的是表名和列族(字段的集合),而不是具体字段,列族中可以包含任意个字段,字段名不需要预定义,每一行中同一列族中的字段也可以不一致,多维结构,关系数据库的表是二维的,通过指行、列定位一个数据,HBase中需要通过行健、列族名、字段名、版本号才能定位到具体数据,插入数据时,一次插入一个字段的数据,不是像关系数据库那样一次插入多个字段。

以上就是关于扣丁学堂大数据培训之详解非关系型数据库HBase表结构的详细介绍,希望对小伙伴们有所帮助,想要了解更多关于大数据方面内容的小伙伴可以登录扣丁学堂官网咨询,扣丁学堂有专业的大数据培训班邀请有理想的你加入。扣丁学堂不仅有专业的大数据培训班供大家学习,还有与时俱进的课程体系和大量的大数据视频教程让学员免费观看学习,想要学好大数据的小伙伴快到扣丁学堂来了解详情吧。扣丁学堂大数据学习群:209080834。


标签: 大数据培训 大数据视频教程 大数据分析培训 大数据学习视频 Hadoop生态圈

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号