恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

kylin的查询性能优化(一)

  • 首页
  • 资讯中心
  • /
  • kylin的查询性能优化(一)

相关资讯

spring的@Before、@Around、@After、@AfterReturning、@AfterThrowing执行顺序 2026/8/2 17:54:13
Godot Shader特效:用SCREE_TEXTURE实现简单的屏幕滤镜 2026/8/2 17:54:14
牛客剑指Offer——替换空格 2026/8/2 17:54:14

最新资讯

Slopsmith Desktop 完全指南:VST 插件、NAM 模型与 IR 冲激响应如何排进同一条信号链
FunASR Windows 离线语音转写:一条脚本跑通本地 ASR 服务的完整指南
如何用 LaTeX2JS 滑块命令打造可拖动的交互式数学图表:新手完整指南
让AI替你跑完生物医学分析?Biomni智能体实战上手
apt如何解决依赖地狱?Debian依赖求解器pkgProblemResolver原理深度剖析
在线笔试平台如何优化技术招聘流程

今日推荐

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南
洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

kylin的查询性能优化(一)

发布时间:2026/8/25 8:48:19
kylin的查询性能优化(一) 平台是基于kylin及hadoop生态搭建的大数据平台其中多维数据分析是通过kylin实现的为了满足大数据量的业务的实时查询并且响应时间秒出的需求所以采用这套数据架构实际的查询结果并没有达到预期的秒出结果集下文及后续文章陆续介绍整个优化的全过程直至达到业务的要求。kylin的强大之处就在于预计算将时间转换为空间的理论预计算结果是查询性能的一个很重要的原因项目场景维度200多个维度值指标50个【count distinct ,count,sum】;查询维度在线自由组合设计所有的维度表中的维度字段都默认设置成衍生维度事实表中的维度 关联字段全部设置成正常维度【补充衍生维度不参与计算正常维度参与预计算结果】生成的cubeId8个。测试针对项目所有的菜单进行测试指标【count,sum】的查询性能10s之内对于【count distinct】查询的时间在2分钟左右性能比较差。基于测试的结果和查询命中的cuebId发现每次命中的cubeId,中包含多个维度字段值并且对于衍生维度作为条件进行二次运算这些都是导致查询慢的原因【通过日志观察可以看出】另外机器资源都比较优秀对性能是不存在影响的。下面主要对精确去重【count disntinct】的指标进行调整方案一1、增加cubeId的个数主要是在维度设置部分通过必要维度、层级维度、联合维度、包含维度这几个部分进行分配。衍生维度的处理目前kylin支持的最多维度字段63个cubeId最多4096基于场景描述要合理的将衍生维度变为正常维度计算出预处理的结果必须结合业务情况进行设计多次和业务沟通将经常使用的场景时间控制在秒级别不常用的一般控制在1分钟之内或者个别的会更长一些2分钟左右。【离开业务的技术是不存在的】合理设置rowkey顺序Rowkey的顺序对于维度组合查询的性能有一定的印象作用kylin的rowkey和hbase的rowkey有相似之处【后面会有文章介绍】 。通过以上两个方案多次调整测试时间较之前有所优化控制在77s之内同时发现如下两个问题kylin预计算的存储的block都特别大超过了默认的设置Rowkey顺序超过20的查询性能较差一些方案二通过在社区进行沟通发现是kylin默认的参数配置shard-size256m没有起作用因此设置shard-size64m进行调整其他的设置保持不变构建之后测试性能提升到50s;同时通过查询hdfs上的存储情况都在256m-700m之间基于方案二在次调小shard-size16m查询性能控制在25s之内性能进一步提升同时通过查询hdfs上的存储情况都在256m阶段一基于方案1和2的调整之后经常用到的维度组合查询控制在5s内不常用维度或者高阶维是30s内。补充kylin的查询是基于spark的默认设置是instance4,cores5.同时并发的task是20个executor.memory4G;eg一个cubeId的存储大小是2G,那么在前台查询的时候后台只会起一个task去执行这个命令如果一个cubeId的存储变成了4文件每一个是500m那么查询的时候后台就会起4个task去执行合格任务;另外如果一个cubeId的存储分片比较多由于最多的时候并发是20个可能执行需要两轮查询的性能会变的更差一些。要合适的把握参数的调整【kylin的查询详请见后面文章】。总结在使用kylin的时候不能只但对关注前端的设计问同时注意后台的处理机制是否合理每一个场景不同测试的结果也不同某一些场景可能覆盖了存在的问题。对所有的自己开发的产品或者第三方产品都要有这个想法。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号