不多说,直接上干货!
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:无论工作的状态,用户可以结束它和释放资源。