2019独角兽企业重金招聘Python工程师标准>>>

全量构建与增量构建

全量构建

对数据模型中没有指定分割时间列信息的Cube,Kylin会采用全量构建,即每次从Hive中读取全部的数据来开始构建。通常它适用于以下两种情形。
事实表的数据不是按时间增长的。
事实表的数据比较小或更新频率很低,全量构建不会造成太大的开销。

增量构建

Kylin每次都会从Hive中读取一个时间范围内的数据,然后进行计算,并以一个Segment的形式进行保存。下次再构建的时候,会自动以上次结束的时间为起点时间,再选择新的终止时间进行构建。经过多次构建,Cube中将会有多个Segment依次按时间顺序进行排列,如Seg-1,Seg-2,…,Seg-N。查询的时候,Kylin会查询一个或多个Segment然后再做聚合计算,以便返回正确的结果给请求者。
使用增量构建的好处是,每次只需要对新增数据进行计算,从而避免了对历史数据进行重复计算。对于数据量很大的Cube,使用增量构建是非常有必要

增量构建引发的问题

历史数据刷新

Cube构建完成以后,如果某些历史数据发生了改动,那么需要针对相应的Segment进行重新计算,这种构建称为刷新。刷新通常只针对增量构建的Cube而言,因为全量构建的Cube只要重新全部构建就可以得到更新;而增量更新的Cube因为有多个Segment,因此需要先选择要刷新的Segment,然后再进行刷新。

在刷新的同时,Cube仍然可以被查询,只不过返回的是陈旧数据。当Segment刷新完毕时,新的Segment会立即生效,查询开始返回最新的数据。老Segment则成为垃圾,等待回收。

Cube合并

随着时间的迁移,Cube中可能会存在较多数量的Segment,使得查询性能下降,并且会给HBase集群管理带来压力。对此,需要适时地将一些Segment进行合并,将若干个小Segment合并成较大的Segment。

合并的好处具体如下:

1)合并相同的Key,从而减少Cube的存储空间。

2)由于Segment减少了,因此可以减少查询时的二次聚合,提高了查询性能。

3)HTable的数量得以减少,更便于集群的管理。

转载于:https://my.oschina.net/u/2000675/blog/2999947

kylin cube 增量和全量相关推荐

  1. solr java 全量,Solr实时创建增量或全量索引

    1,为了支持增量建索引,我们需要把上述文中的mysql-data-config.xml内容改为 query="SELECT id, title, content FROM article&q ...

  2. 4. 同步方式(增量和全量)

    4. 同步方式(增量和全量) 4.1 数据同步一般分为两种方式:全量和增量. 全量 全量,这个很好理解.就是每天定时(避开业务高峰期)或者周期性全量把数据从一个地方拷贝到另外一个地方: 全量的话,可以 ...

  3. 判断数据是增量分区全量分区

    如何判断数据是增量分区,还是全量分区 (保存数据T-1的全量,通常保存进一个月的数据为T-1的全量) 增量形式:不包含历史所有的数据,只是当天的数据 where dt between 'T-7' an ...

  4. oracle增量和全量的区别,ORACLE全备份和0级增量备份的区别

    比较官方的说法 Full A backup of a datafile that includes every allocated block in the file being backed up. ...

  5. MYSQL增量备份和全量备份脚本分享

    mysql的全量备份与增量备份 全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 增量备份:增量备份是针对于数据库的bin-log日志进行备份的,需要开始 ...

  6. 企业级MySQL数据库备份方案:增量备份、全量备份、逻辑备份

    一份好的备份方案无非包括以下几点: 为什么需要备份? 备份的方式有哪些? 某几种备份方式的区别在哪? 备份实战操作概述 恢复实战操作概述 其它备注信息 那么,此文将从以上几个角度,结合一些实际的实战经 ...

  7. Elasticsearch 的全量同步和增量同步

    (1)全量同步 什么是全量同步:将一个mysql的整个表的所有数据都同步到es中 常用插件是logstash-input-jdbc,logstash通过sql语句分区间对数据进行查询,然后输出到es进 ...

  8. 数据的增量采集与全量采集

    文章目录 前言 1. 传统数据库的增量与全量 1.1 Oracle 1.2 Mysql 2. 大数据框架的增量与全量 2.1 业务数据 2.2 日志数据 前言 本文简单示例传统数据库与大数据系统下数据 ...

  9. mysql的增量备份与全量备份

    mysql的全量备份与增量备份 全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 备份所有数据库: [root@my ~]# mysqldump -uro ...

最新文章

  1. Android 解决不同进程发送KeyEvent 的问题
  2. shell脚本——注释(单行注释 多行注释)
  3. 阿里员工发帖吐槽人不如驴:你不能一边抽我,一边问我爱不爱你
  4. 字符串转Unicode码
  5. Airflow 中文文档:调度和触发器
  6. java二维数组模拟用户登录_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)...
  7. Label-dependent Feature Extraction in Social Networks for Node Classification
  8. 自己动手构造编译系统:编译、汇编与链接2.4.1 汇编词法、语法分析
  9. 关于计算机组件游戏,Windows系统运行库/游戏运行库组件怎么补全?
  10. linux安装protoc
  11. html控制萤石云摄像头转动,怎么控制云台转动 ?
  12. python生成的词云没有图案_python词云(词云图生成器)
  13. 如何在web配置一个高效采集数据的DTM?
  14. 电器系统 java_java毕业设计_springboot框架的苏宁易购电器进销存管理系统
  15. matplotlib如何绘制圆
  16. 提高MySQL微信三公源码的7个技巧
  17. sqlserver位数不够左边补0
  18. [安装wireshark时,报“Error opening file for writing npf.sys”]
  19. html图片合成视频,将视频和图片合成到一个页面
  20. python使用matplotlib绘图

热门文章

  1. linux中awk命令_Linux / Unix中的AWK命令
  2. easymock教程_EasyMock教程
  3. Hibernate Tomcat JNDI数据源示例教程
  4. knn约会_出色的在线约会预订系统应具备的5个功能
  5. Android Material Components – MaterialAlertDialog
  6. 开课吧Java课堂:什么是主线程?如何去运用?
  7. 【云周刊】 第211期:“阿里巴巴小程序繁星计划”:20亿扶持200万小程序开发者和100万商家...
  8. 从0开始构建自己的前端知识体系-JS-事件-键盘事件总结
  9. Python3基本数据类型(一、数字类型)
  10. C#会对于未赋值的变量/成员变量,给予一个初始值吗?