KYLIN问题收录(不定期更新)

5 篇文章 0 订阅
3 篇文章 0 订阅

创建模型问题

问题描述:

问题原因:

解决方案:

强制维问题

cube的planner

系统cube问题

问题1:无法创建分区

解决方案:

问题2:dashboard无法展示查询命中cube情况

解决方案:


创建模型问题

问题描述:

直接机器IP创建模型正常,切换域名后失败

问题原因:

使用kylin api场景模型,前一步需要loadtable,但因为用的是域名,loadtable和createmodel两步被Nginx发到了不同的机器上,在极短暂的时间内,多台机器的元数据信息不同步,导致在A机器上load的表在B机器上看不到从而导致建模失败,信息为Root fact table does not exist:xxx

解决方案:

1、loadtable后sleep 一段时间,等元数据同步

但随着网络问题,可能还是无法报错最终一致性

2、在同一台机器上进行创建

强制维问题


网上一直说强制维是查询group by后必带的维度,此观点是存在问题的,强制维,层级维等都是为了减少cuboid的,如果你的查询中有某个必带的维度(不一定是在group by中),比如日期的过滤,那么你就可以将此维度设置为强制维来减少cuboid,从而使得查询性能最好(占用资源小,查询快)

cube的planner

kylin的cubeplanner只能帮助(理论上)用户尽量减少cuboid的组合,使得能够尽量聚合或者上卷的cuboid删除,但在真实的业务中,可能就存在某些cuboid不应该被planner掉的,笔者就在生产环境中遇到了这种问题:为了使用尽可能小的存储,执行了多次cubeplanner,导致部分大查询(查询跨度为一年,原始数据为1000w+/天)失败,错误信息为:coprocessor timeout after scanning

最好的cubePlanner应该在系统稳定执行3-6个月后再进行(但可能因为数据量过大而导致优化失败)

系统cube问题

问题1:无法创建分区

笔者使用的是kylin3.1.1版本,使用官方命令生成系统cueb已经各种表,但在实际中会发现,查询相关的cube(KYLIN_HIVE_METRICS_QUERY_RPC_QAKYLIN_HIVE_METRICS_QUERY_CUBE_QA,KYLIN_HIVE_METRICS_QUERY_RPC_QA,KYLIN_HIVE_METRICS_QUERY_QA​)可能存在分区信息创建失败而导致整个线程假死的情况,

解决方案:

需要用户手动创建分区

问题2:dashboard无法展示查询命中cube情况

基于系统cube,开启dashboard,但仍旧无法先看cube的命中率(或者在planner中也无法看到),此问题是因为以上cube中缺少project维度信息,导致在查询的时候无法找到对应的project查询为空

解决方案:

重新设计cube,增加project维度

查询问题

问题1:IN和范围查询

描述:IN的查询会出现coprocessor timeout after scanning错误,但是范围查询不会

原因:IN的查询不会将查询条件下推到HBase中,范围查询会,因此导致IN扫描的数据量较大而超时

解决方案:

增加hbase查询时间或者改为范围查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值