Cuboid之key-value
如上图原始表所示:Hive表有两个维度列yearcity,有一个指标price

如上图预聚合表所示:我们具体要计算的是yearcity这两个维度所有维度组合(即4个cuboid)下的sum(priece)指标,这个指标的具体计算过程就是由MapReduce完成的。

如上图字典编码所示:为了节省存储资源,Kylin对维度值进行了字典编码。图中将beijingshanghai依次编码为0和1。

如上图HBase KV存储所示:在计算cuboid过程中,会将Hive表的数据转化为HBase的KV形式。Rowkey的具体格式是cuboid id + 具体的维度值(最新的Rowkey中为了并发查询还加入了ShardKey),以预聚合表内容的第2行为例,其维度组合是(year,city),所以cuboid id就是00000011,cuboid是8位,具体维度值是1994和shanghai,所以编码后的维度值对应上图的字典编码也是11,所以HBase的Rowkey就是0000001111,对应的HBase Value就是sum(priece)的具体值。
所有的cuboid计算完成后,会将cuboid转化为HBase的Key-Value格式生成HBase的HFile,最后将HFile load进cube对应的HBase表中。

相关文章:

  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
  • 2022-03-06
  • 2022-01-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
  • 2021-06-08
  • 2022-12-23
  • 2021-07-19
相关资源
相似解决方案