为了账号安全,请及时绑定邮箱和手机立即绑定

怎样将关系型数据表转换至hbase数据表

怎样将关系型数据表转换至hbase数据表

Cats萌萌 2018-10-08 12:12:24
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

首先需要把关系型数据库的数据表的数据增加由 “纵向延伸”,转变为HBase数据表的“横向延伸”
一、Hbase的存储结构
a) HBase以表(HTable)的形式存储数据
b) HTable包括很多行,每行通过RowKey唯一标记,行按照RowKey的字典序排列,表在行的方向上分割为多个HRegion
c) 每行包括一个RowKey和多个Column Family,数据按照Column Family进行物理切割,即不同Column Family的数据放在不同的Store中,一个Column Family放在一个Strore中
d) HRegion由多个Store组成。一个Store由物理上存在的一个MemStrore(内存中)和多个StoreFile(HFile)中
二、设计原则:
(1)rowkey
a) rowkey是hbase的key-value存储中的key,通常使用用户要查询的字段作为rowkey ,查询结果作为value ,HBase中RowKey是按照字典序排列的

(2)Column Family的设计需遵循:
a) 不同Column Family的数据,在物理上是分开的,尽量避免一次请求需要拿到的Column分布在不同的Column Family中;
b) CF的数量尽量要少,原因是过多的columnfamily之间会互相影响
(3) column
对于column需要扩展的应用,column可以按普通的方式设计,但是对于列相对固定的应用,最好采用将一行记录封装到一个column中的方式,这样能够节省存储空间。封装的方式推荐protocolbuffer。

查看完整回答
反对 回复 2018-10-27
  • 1 回答
  • 0 关注
  • 1010 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信