Build Cube流程主要分为四个阶段:

  • 根据用户的cube信息计算出多个cuboid文件
  • 根据cuboid文件生成htable
  • 更新cube信息
  • 回收临时文件

1.流程一:作业整体描述

把构建Cube的来源表总行数写到指定的HDFS文件中

2.流程二:生成中间临时数据

这一步的操作是根据Cube设计中的定义生成原始数据,这里会新创建一个Hive外部表,然后再根据Cube中定义的星型模型,查询出维度(对于Derived类型的维度使用的是外键)和度量值并插入到新建的表中,标的数据文件(存储在HDFS)作为下一个子任务的输入,它首先根据维度中的列和度量中作为参数的列得到需要出现在该表中的列,然后执行三步hive操作。

(1)如果临时表存在就删除

(2)创建外部表

(3)插入数据

3.流程三:创建事实表的Distinct Columns文件

根据流程二中生成的hive临时表作为输入,计算出表中的每一个出现在事实表中的维度和度量的distinct值,并写入到以列命名的文件中。如果某一个维度列的distinct值比较大,

那么可能导致mapreduce任务执行过程中OOM

4.流程四:构建维度词典

根据流程三生成的distinct colum文件和维度表计算出所有维度的字典。字典是为了节约存储而设计,事实表的每个维度组合都转换成唯一整数而减少内存占用。维度表的的每一行每一列都会得到一个编码id.然后存储id组成的新维表,id和值得映射关系。

5.流程五:保存Cuboid的统计信息

6.流程六:创建HTable

创建Htable时候需要考虑

  • 列族的设置
  • 每个列族的压缩方式
  • 部署coprocessor
  • HTable中每一个region的大小

hbase中存储的数据key是维度成员的组成,value是对应聚合函数的结果。

7.流程七:计算生成Base Cuboid数据文件

计算BaseCuboid。

8.流程八:计算N层的Cuboid文件

每一层一个mapreduce程序,计算每一程的coboid。

9.流程九:基于内存构建Cube

如果选择In-mem cubing的方式这一步会代替前两步生成cube。

10.流程十:将Cuboid转换成HFile

11.流程十一:将HFile导入到Hbase表中

12.流程十二:更新Cube信息

13流程十三:清理中间表

Apache Kylin Buid Cube详细流程相关推荐

  1. Apache Kylin Buid Cube详细流程2

    1. Cube的物理模型 Cube物理模型 如上图所示,一个常用的3维立方体,包含:时间.地点.产品.假如data cell 中存放的是产量,则我们可以根据时间.地点.产品来确定产量,同时也可以根据时 ...

  2. PHP7.2与apache环境安装部署详细流程

    php-agent 安装部署详细流程 一.环境 测试机内网IP: 10.128.5.98 用户名口令: root/oneapm21 cat /etc/system-release cat /etc/i ...

  3. 7.Apache Kylin 创建cube 第一阶段报错Create Intermediate Flat Hive 报错 MapredLocalTask

    文章目录 一.问题 二.解决 一.问题 版本: cdh6.2.0 kylin3.0.0 构建cube第一阶段Create Intermediate Flat Hive,报错 FAILED: Execu ...

  4. 深入 Apache Kylin Cube 与查询优化

    2019独角兽企业重金招聘Python工程师标准>>> 近几年,Apache Kylin作为一个高速的开源分布式大数据查询引擎正在迅速崛起.它充分发挥Hadoop.Spark.HBa ...

  5. 一文读懂Apache Kylin(麒麟)

    "麒麟出没,必有祥瑞." -- 中国古谚语 Kylin思维导图 前言 随着移动互联网.物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临.但是海量数据 ...

  6. Apache Kylin在绿城客户画像系统中的实践

    前言 \\ 作为国内知名的房地产开发商,绿城经过24年的发展,已为全国25万户.80万人营造了美丽家园,并将以"理想生活综合服务提供商"为目标,持续为客户营造高品质的房产品和生活服 ...

  7. 小米大数据:借助Apache Kylin打造高效、易用的一站式OLAP解决方案

    如今的小米不仅是一家手机公司,更是一家大数据与人工智能公司.随着小米公司各项业务的快速发展,数据中的商业价值也愈发突显.而与此同时,各业务团队在数据查询.分析等方面的压力同样正在剧增.因此,为帮助公司 ...

  8. 一文读懂Apache Kylin

    感谢分享. http://www.jianshu.com/p/abd5e90ab051?utm_campaign=maleskine&utm_content=note&utm_medi ...

  9. Apache Kylin

    "麒麟出没,必有祥瑞." -- 中国古谚语 Kylin思维导图 前言 随着移动互联网.物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临.但是海量数据 ...

最新文章

  1. 普通用户下变成-bash-3.2$的解决方法
  2. 使用myeclipse创建带注解的model实体类
  3. 如何快速直接从Web of Science下载文献,保存到Endnote
  4. 2021超详细的Dart语言基础总结~你值得拥有~
  5. 暴力破解(初级)以及弱口令工具的使用
  6. 数学教师计算机能力提升,深度融合信息技术,提升数学课堂魅力
  7. HDU - 1024 Max Sum Plus Plus 最大m段子段和+滚动数组优化
  8. 2014年即将过去,2015年即将到来
  9. Trufun Kant Studio 2008面向VS.NET的开发应用
  10. 算法导论9.1-1习题解答(二叉树)
  11. 滚动字幕的源代码(可作滚动公告)
  12. 一切成功源于积累——20140928 认识货币——加元
  13. mysql 随机函数
  14. 【C++】数列求和-加强版
  15. swagger 怎么去掉get delete_橡皮擦英文单词怎么读
  16. 保送清华计算机,2018年北大、清华五大学科竞赛集训队保送生争夺战结果
  17. 正则表达式( 形容词、转义符号、补充)
  18. 移动小额支付业务系统几种常用实现方式的分析和比较
  19. 【原创】机器学习一般流程总结
  20. 美国计算机专业nlp大学排名,美国人工智能专业排名前十的学校

热门文章

  1. [转帖]实时协同设计CAD平台
  2. 面向对象三大特性(继承)
  3. Python之pandas库(万年一更版)
  4. android 图片占用内存的计算
  5. 微软亚洲研究院的一道面试题
  6. 折半查找法(二分搜索法)
  7. 何隆昌 帆软报表主要步骤
  8. 8b10b编码源码 matlab,8b/10b编码技术系列(一):Serdes、CDR、K码
  9. BGP路由选路与负载
  10. 【OpenGL ES】二维图形绘制