赞
踩
cube的构建主要有两种算法:逐层构建算法、快速构建算法,无论是采用哪种算法,首先是从Hive表中拉取数据,根据配置的星型模型,把hive中涉及的表关联起来,并拉取所有的字段形成一个中间层的宽表,如图
然后根据落地中间表的数据生成cube
逐层构建算法:
一个N维的Cube,是由1个N维的立方体、N个(N-1)维子立方体、N*(N-1)/2个(N-2)维子立方体、.....、N个1维子立方体和1个0维子立方体构成,总共由2^N个子立方体组成,逐层算法中,就是按照维度数逐层减少来串行计算的,第一层直接从宽表的数据计算而来,之后每个层级的计算是基于上一层级的结果计算的,比如说,A、B、C三个维度的结果是基于A、B、C、D四个维度的结果上直接汇总得来的,这样可以减少重复计算,直到0维度Cuboid计算出来的时候,整个Cube的计算也就完成了,每一轮计算
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。