Apache Kylin的核心概念
2024-08-31 22:19:21
不多说,直接上干货!
1、表(table):This is definition of hive tables as source of cubes,在build cube 之前,必须同步在 kylin中。
2、模型(model):模型描述了一个星型模式的数据结构,它定义了一个事实表(Fact Table)和多个查找表(Lookup Table)的连接和过滤关系。
3、 Cube 描述:描述一个Cube实例的定义和配置选项,包括使用了哪个数据模型、包含哪些维度和度量、如何将数据进行分区、如何处理自动合并等等。
4、Cube实例:通过Cube描述Build得到,包含一个或者多个Cube Segment。
5、分区(Partition):用户可以在Cube描述中使用一个DATA/STRING的列作为分区的列,从而将一个Cube按照日期分割成多个segment。
6、立方体段(cube segmetn):它是立方体构建(build)后的数据载体,一个 segment 映射hbase中的一张表,立方体实例构建(build)后,会产生一个新的segment,一旦某个已经构建的立方体的原始数据发生变化,只需刷新(fresh)变化的时间段所关联的segment即可。
7、聚合组:每一个聚合组是一个维度的子集,在内部通过组合构建cuboid。
8、作业(job):对立方体实例发出构建(build)请求后,会产生一个作业。该作业记录了立方体实例build时的每一步任务信息。作业的状态信息反映构建立方体实例的结果信息。如作业执行的状态信息为RUNNING 时,表明立方体实例正在被构建;若作业状态信息为FINISHED ,表明立方体实例构建成功;若作业状态信息为ERROR ,表明立方体实例构建失败!
2、模型(model):模型描述了一个星型模式的数据结构,它定义了一个事实表(Fact Table)和多个查找表(Lookup Table)的连接和过滤关系。
3、 Cube 描述:描述一个Cube实例的定义和配置选项,包括使用了哪个数据模型、包含哪些维度和度量、如何将数据进行分区、如何处理自动合并等等。
4、Cube实例:通过Cube描述Build得到,包含一个或者多个Cube Segment。
5、分区(Partition):用户可以在Cube描述中使用一个DATA/STRING的列作为分区的列,从而将一个Cube按照日期分割成多个segment。
6、立方体段(cube segmetn):它是立方体构建(build)后的数据载体,一个 segment 映射hbase中的一张表,立方体实例构建(build)后,会产生一个新的segment,一旦某个已经构建的立方体的原始数据发生变化,只需刷新(fresh)变化的时间段所关联的segment即可。
7、聚合组:每一个聚合组是一个维度的子集,在内部通过组合构建cuboid。
8、作业(job):对立方体实例发出构建(build)请求后,会产生一个作业。该作业记录了立方体实例build时的每一步任务信息。作业的状态信息反映构建立方体实例的结果信息。如作业执行的状态信息为RUNNING 时,表明立方体实例正在被构建;若作业状态信息为FINISHED ,表明立方体实例构建成功;若作业状态信息为ERROR ,表明立方体实例构建失败!
DIMENSION & MEASURE的种类
- Mandotary:强制维度,所有cuboid必须包含的维度。
- Hierarchy:层次关系维度,维度之间具有层次关系性,只需要保留一定层次关系的cuboid即可。
- Derived:衍生维度,在lookup 表中,有一些维度可以通过它的主键衍生得到,所以这些维度将不参加cuboid的构建。
- Count Distinct(HyperLogLog) :直接进行count distinct是很难去计算的,一个近似的算法HyperLogLog可以保持错误率在一个很低的范围内。
- Count Distinct(Precise):将基于RoaringBitMap进行计算,目前只支持int和BigInt。
Cube Action种类
- BUILD:给定一个分区列指定的时间间隔,对Cube进行Build,创建一个新的cube Segment。
- REFRESH:这个操作,将在一些分期周期内对cube Segment进行重新build。
- MERGE:这个操作将合并多个cube segments。这个操作可以在构建cube时,设置为自动完成。
- PURGE:清理一个Cube实例下的segment,但是不会删除HBase表中的Tables。
Job状态
NEW:表示一个job已经被创建。 PENDING:表示一个job已经被job Scheduler提交,等待执行资源。
RUNNING:表示一个job正在运行。
FINISHED:表示一个job成功完成。
ERROR:表示一个job因为错误退出。
DISCARDED:表示一个job被用户取消。
Job执行
RESUME:这个操作将从失败的Job的最后一个成功点继续执行该Job。
DISCARD:无论工作的状态,用户可以结束它和释放资源。
最新文章
- json和jsonp
- 【实践】jdbc批量插入数据
- easyUI框架之学习3--表格datagrid
- 1189: [HNOI2007]紧急疏散evacuate - BZOJ
- 查看mac上的隐藏文件
- JS 设计模式七 -- 模板方法模式
- 分享一个基于web的满意度调查问卷源码系统
- PCA和SVD最佳理解
- PHP 中解析 url 并得到 url 参数
- WCF服务寄宿Windows
- (转)Shiro学习
- 一、	JSP概述 	二、JSP的语法结构 	三、JSP内置对象
- 【MOOC EXP】Linux内核分析实验四报告
- JavaSE入门学习7:Java基础语法之语句(下)
- 配置postgres9.3间的fdw——实现不同postgres数据库间的互访问
- CodeForces 2A - Winner(模拟)
- Helpers.parallel_bulk in Python not working?
- cache工作原理
- vim 插件使用
- A - 活动安排问题(贪心)
热门文章
- 更多的使用自定义元素(CustomElement)。
- android 图片内存问题
- Java 快速失败( fail-fast ) 安全失败( fail-safe )
- timestamp 转 date 处理后再转timestamp
- Redis持久化(RDB和AOF)
- Java 字符串比较小知识
- 使用 Word 2013 维护博客
- Burpsuite实验(二)
- 「网络流24题」「LuoguP4015」 运输问题
- Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法Windows版(手贱强制重启电脑的后果)