kylin使用过程中需要注意的点

一、维表

事实表中多个维度字段不能关联同一张维表。如果关联同一张表的情况,可通过视图区别开。

二、维表字段

   不同维表中的字段不能同名,建议加上表名做前缀。字段的中文描述应区分开,比如city_name,根据字段的不同用途可分别命名为所在地城市、访问地城市。

    对于时间维表,配置cube 时 选定的字段命名必须 统一:日 的叫 DATE  字段, 周是SUN_DT ,月是 MONTH, 年是 YEAR 。 

三、字段类型

   事实表中的维度字段类型与关联的维表的字段类型必须一致。

四、元数据中olap表的维度字段

   元数据中事实表的所有维度字段都需要填写引用维度表的字段。

五、维表分区

  维表不支持日期分区,如果维表数据是需要累积的,需要单独建累积表,然后同步最新分区数据到维表中。

六、字段长度

  需要count distinct的指标字段长度不宜过长,不能超过255。(所以在olap表中,需要对去重字段进行处理)

  否则,在build cube的时候,在第四步 “” Build Dimension Dictionary“,会报错,错误信息如下:

 

java.lang.RuntimeException: Failed to create dictionary on OLAP.OLAP_NH_LOG_PAGE_DI.UV
	at org.apache.kylin.dict.DictionaryManager.buildDictionary(DictionaryManager.java:325)
Caused by: java.lang.RuntimeException
	at org.apache.kylin.dict.CachedTreeMap.writeValue(CachedTreeMap.java:240)

七、修改hive表结构

修改hive中表的结构时,需在kylin中进行同步。

八、修改cube与model

如需修改cube与model,则新建或者clone,再修改,切勿在原model或cube上做修改,容易出现数据不一致问题。

九、事实表与维表中字段不能有同名的

在建cube时选择的维度字段名只能在事实表与维表中存在一个,即事实表与维表中不能有同名字段。

十、对于 需要精确去重的,选择 count distinct 并且指定精度  即可。

      如果需要更进一步 的 按月 去重,譬如 UV这种指标,不但要按天去重,还得跨天 按月 去重。

     那么在配置cube时, 在cube里的“ Advanced Setting” 高级设置这一项, 需要如下所示 设置,设置全局字典。

 

十一、字段命名

不能以数字开头。

十二: 配置cube时,必须填上 负责人的邮箱。 如果忘记填写了,可以事后 edit 修改cube 填写上!

如下图所示:

十三、事实表的分区格式问题
KYLIN支持的事实表分区目前有三种格式,如下图所示
所以在设计作为KYLIN事实表的数据表的pt时应注意其格式与KYLIN支持的保持一致,为了统一,目前采用yyyyMMdd格式

十四、创建cube第二步选择dimensions

add dimension选normal

十五、维度与指标

事实表中的一个字段不可以即作为维度又作为指标使用

十六、count distinct

当数据量较大时(例如在6千万条)KYLIN的count distinct 容易报错

十七、model与cube的命名

olap表名_model、olap表名_cube

十八、cube的调度任务命名

与cube名一致,方便查询

十九、取消自动合并(合并有bug)

在创建cube的第四部refresh setting,点右侧减号取消自动合并。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值