维度模型在hadoop中怎么实现?

0

 大家好,请教一个问题。现在要从关系数据库像hadoop转移,有些疑惑。
关系数据库的维度模型在hadoop中怎么存储?
是数据在hadoop计算,计算记过保存到关系数据库,还是维度模型直接保存在hadoop?


如果维度模型保存在hadoop:
hadoop 或者hbase怎么保存维度模型?
1. 像关系数据库一样建星型模型?
2. 做连接不好,冗余到一个表, hadoop的行会很大,好像也不方便扩展。
3. hbase保存维度模型怎么搞?总不能把维度属性都当成rowkey,但是不放在rowkey后面根据维度查询的时候就得变成全表扫描。
矛盾了好几天了,想不明白,谁有这方面经验?谢谢
有个网友说弄hbase得2级索引, 如果数据比较少而且数据集中在少数几个region还好吧, 如果大量数据分散到很多region,二级索引性能好吗?
 
已邀请:
0

Bob - 同程旅游大数据+BI 架构师 2016-10-13 回答

可以使用hive来进行维度模型的建立。
在hive上创建维度表、度量表。可尽量按照原有的关系型DW来设计。
 
使用hive的 sql进行数据ETL工作,这样就可以将所有的数据都存储到hadoop中
 
如果你想实现cube的查询,则可以用kylin来实现多维数据库。kylin也是读取hive中已搭建的仓库模型。
1

MarsJ - 大数据玩家~DS 2016-10-18 回答

Apache Kylin可以做到维度建模。
 
原始数据以Hive表的形式存储,包括事实表和各个维度表,Hive也被称为是Hadoop之上的数据仓库,所以完全可以用Hive作为数仓。
Apache Kylin提供了一个引擎,还有友好的UI界面,可以供用户从Hive表中读取事实表和维度表作为模型,并在模型中设计具体的CUBE,
然后在Kylin中Build CUBE,得到的结果是一个HTable,存储于HBase中,Web UI可以直接写SQL进行查询,实际上查询的是CUBE的结果(HTable)。
 
速度还可以。

要回复问题请先登录注册