如上图原始表所示: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表中。

Cuboid之key-value相关推荐

  1. kylin KV+cube方案分析

    2019独角兽企业重金招聘Python工程师标准>>> 前言   在使用Kylin的时候,最重要的一步就是创建cube的模型定义,即指定度量和维度以及一些附加信息,然后对cube进行 ...

  2. kylin build过程详解

    目录 1. 计算cuboid文件 1.1 生成原始数据(Create Intermediate Flat Hive Table) 1.2 创建事实表distinct column文件(Extract ...

  3. MySQL这一章就够了(一)

    前言:呕心沥血5个月淦出本文,整理所有MySQL知识.我愿称之为地表最强MySQL. MySql笔记 MySQL是关系型数据库,基于SQL查询的开源跨平台数据库管理系统.它最初是由瑞典MySQL AB ...

  4. 机械工程英语第二版叶邦彦-汉语翻译最多单元版

    UNIT 1 Advanced Engineering Materials 第一单元 先进的工程材料 Types of Materials 材料的类型 Materials may be grouped ...

  5. Kylin cuboid算法修改

    缘由 近期由于发现线上cube的构建时间太慢(一个项目的cube构建前一天的数据一般需要170分钟左右),目前我们接入的应用才三个,如果后期接入更多的cube之后会导致更慢的cube构建速度,于是深入 ...

  6. Redis 笔记(16)— info 指令和命令行工具(查看内存、状态、客户端连接数、监控服务器、扫描大key、采样服务器、执行批量命令等)

    Info 命令返回关于 Redis 服务器的各种信息和统计数值.通过给定可选的参数 section ,可以让命令只返回某一部分的信息. 1. 显示模块 server : 一般 Redis 服务器信息, ...

  7. Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)

    1. keys Redis 提供了一个简单暴力的指令 keys 用来列出所有满足特定正则字符串规则的 key. 127.0.0.1:6379> keys * (empty array) 127. ...

  8. Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)

    字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...

  9. Redis 笔记(02)— keys 键相关命令(查询数据库key数量、判断key是否存在、指定key过期时间、查看key类型、查看key剩余秒数、选择数据库、删除key、删除数据库)

    1. keys 键相关命令 命令 说明 dbsize 返回当前数据路的key数量 exists key 测试指定key是否存在 expire key seconds 为key指定过期时间 type k ...

  10. python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)

    前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...

最新文章

  1. 【Python学习系列二十】scikit-learn库模型持久化
  2. linux安装mysql详细过程【easy】
  3. springboot扫描组件_springboot多模块包扫描问题的解决方法
  4. java工具keytool生成p12数字证书文件
  5. 计算机算法设计与分析 单峰序列
  6. Adobe 修复Commerce 和 Magento 平台中的又一个严重RCE
  7. 【专家访谈】测试专家 - 陈林钧 访谈记录整理汇总
  8. f(x)=sinx的求导过程
  9. vcpkg 简明教程
  10. android切换输入法工具类
  11. 10款超牛Vim插件,爱不释手了
  12. 技术岗的职业规划_银行信息技术岗职业规划范文
  13. Java-Controller引起的Ambiguous mapping问题解决
  14. Linux下查看电脑配置信息
  15. 微信小程序实现可移动悬浮按钮(超简单)
  16. 8、灰度图的腐蚀、膨胀、开闭运算、顶帽底帽
  17. python ascii错误处理
  18. 内存碎片产生原因及处理
  19. java毕业设计电影公司网Mybatis+系统+数据库+调试部署
  20. iWO联通3G详单及套餐使用情况查询工具)更新至v0.8.3

热门文章

  1. onlyoffice+vue集成
  2. 2.20 货币兑换-设置流程
  3. 一周面试错题整理(二)
  4. Java项目中使用频率最高的100个类
  5. 宏华Atsl ver 2000 Build 20020225 65 零售版
  6. QGC 地面站中获取电压完整教程(QGC中无法获取APM电压)
  7. ipad和iphone切图_如何在iPhone,iPad和Apple TV上设置Steam Link
  8. 关于Vue的MVVM
  9. UltraEdit快捷键
  10. OpenCV技巧 | 二值图孔洞填充方法与实现(附Python/C++源码)