什么是系统 Cube

为了更好的支持自我监控,在系统 project 下创建一组系统 Cubes,叫做 “KYLIN_SYSTEM”。现在,这里有五个 Cubes。三个用于查询指标,”METRICS_QUERY_EXECUTION”,”METRICS_QUERY_SPARK_JOB”,”METRICS_QUERY_SPARK_STAGE”。另外两个是 job 指标,”METRICS_JOB”,”METRICS_JOB_EXCEPTION”。

如何建立系统 Cube

请查看文档:How to use System Cube in Kylin4.0

系统 Cube 的细节

普通 Dimension

对于这些 Cube,admins 能够用四个时间粒度查询。从高级别到低级别,如下:

KYEAR_BEGIN_DATEyear
KMONTH_BEGIN_DATEmonth
KWEEK_BEGIN_DATEweek
KDAY_DATEdate

METRICS_QUERY_EXECUTION

这个 Cube 用于在 Spark Execution 级别收集查询 metrics。在 kylin4.0 中,每一条查询对应一个 Spark Execution。

METRICS_QUERY_SPARK_JOB

这个 Cube 用于收集 Spark Job 级别的查询 metrics。

METRICS_QUERY_SPARK_STAGE

这个 Cube 用于收集 Spark Stage 级别的查询 metrics。

METRICS_JOB

在 Kylin 中,主要有三种类型的 job:
- “BUILD”,为了从 HIVE 中 building Cube segments。
- “MERGE”,为了在存储引擎中 merging Cube segments。
- “OPTIMIZE”,为了在存储引擎中基于 base cuboid 动态调整预计算 cuboid tree。

这个 Cube 是用来收集 job 指标。细节如下:

Dimension
PROJECT
CUBE_NAME
JOB_TYPE
CUBING_TYPEin kylin,there are two cubing algorithms,Layered & Fast(InMemory)
Measure
COUNT
MIN,MAX,SUM of DURATIONthe duration from a job start to finish
MIN,MAX,SUM of TABLE_SIZEthe size of data source in bytes
MIN,MAX,SUM of CUBE_SIZEthe size of created Cube segment in bytes
MIN,MAX,SUM of PER_BYTES_TIME_COST= DURATION / TABLE_SIZE
MIN,MAX,SUM of WAIT_RESOURCE_TIMEa job may includes serveral MR(map reduce) jobs. Those MR jobs may wait because of lack of Hadoop resources.

METRICS_JOB_EXCEPTION

这个 Cube 是用来收集 job exception 指标。细节如下:

Dimension
PROJECT
CUBE_NAME
JOB_TYPE
CUBING_TYPE
EXCEPTIONwhen running a job,exceptions may happen. It’s for classifying different exception types
Measure
COUNT