内容简介:(以下为现场Q&A)Kylin's Github Repo 传送门
节前,Kyligence 的资深讲师为大家带来了《面对上亿级别的用户行为数据,如何做到秒级响应分析》线上分享,介绍了如何使用 Apache Kylin 进行用户行为分析。错过直播的同学可以直接点击 【阅读原文】 查看视频回放。
(以下为现场Q&A)
Kylin 的使用
Q: Kylin 刷新的最小单位是什么? 另外数据源可以用 MySQL 吗?
A: Kylin 最小的刷新单位是 Segment,数据源可以选择 MySQL
Q: 请问 Kylin 如何获取明细数据呢?
A: 首先通过 intersect_value 计算出用户 UID,之后根据 UID 查询明细
Q: Kylin 3.0支持实时了,如何做数据删除和更新,历史数据如何处理?能介绍一下吗?
A: Kylin 的实时功能支持 lambda 模式,用户在数据经过 ETL 后,需要更新 cube 的数据,可以通过创建一个 lambda 表,通过刷新 lambda 表,来实现 cube 数据的更新具体用法参考我们的教程:
http://kylin.apache.org/docs/tutorial/lambda_mode_and_timezone_realtime_olap.html
Q: Hive 表的其中一个字段是数组,Kylin 可以将这个字段拆分出来么?
A: Kylin 不支持这个功能,只支持基础数据类型
Q: Kylin 的结果如何通过 PowerBI 展示,需要什么支持的?
A: 通过 PowerBI 使用开源 Kylin,可以装 Kylin ODBC Driver,使用 PowerBI 通用 ODBC 接口,开源 Kylin 只有使用 PowerBI import 模式(PowerBI有 import + direct query 两种模式),商业版 Kyligence 两种模式都支持
Q: 在 BI 分析 工具 中还能继续做筛选吗?
A: 现在 BI 工具不支持在同一个列上做多个筛选器,行为分析,现有的 BI 工具支持不完善,需要做自研开发
Q: UDAF 的实现有参考文档吗?
A: 请参考 Calcite 官方文档
Q: 假设表结构修改了,Kylin 能感知到吗?
A: 需要手动刷新同步表结构,但是如果 cube 已经有数据,是不能同步的。
Q: model 和 cube 的区别是什么呀?
A: 比较像面向对象中的 Class 类与类实例之间的关系,一个Class 类可以 new 出很多个实例,同样的一个 model 可以创建很多个 cube,model 是模型,cube 是具体的预计算方式和结果
Kylin 的性能优化
Q: 这个函数的使用对于用户基数过大的情况是否会存在数据膨胀过大的情况?
A: 对于用户基数高的不会,对于维度基数高的会存在,但可以通过设置必要维度,层级维度与联合维度进行控制
Q: Kylin 自动化构建是不是也需要外部脚本或者程序定时调度?
A: 需要外部调度
Q: 宽表是 cube 里的一个关联表,还是最终 cube 存储成了一个宽表?
A: 所谓宽表是数据源上的宽表,Kylin cube 设计可以只有一个事实表,也可以是星型模型
Q: 大规模数据中,如果字典表更新了之前 cube 跑过的数据怎么办呢,有么有办法可以快速重新构建的办法?
A: 目前只能重新构建
Q: union 前后的 select 查询是串行执行还是并行执行的?
A: 目前还是串行方式
Q: HBase 里存的是维表的快照吗?如果维表更新了又要重跑怎么办?
A: HBase 中存放的是 Cuboid 数据,如果维表更新了,需要重新构建维表的存储是有两种方式除了HBase 还有 meta store,具体请参考官网说明。如果在建模时有维度表的字段选为 normal,那么维表更新是必须刷新 cube ,如果维表的字段全部为 derived,那么是不需要刷新 cube
Q: Kylin 的 rowkey 应该是多维度组合生成的,HBase 对点查支持的好,但是大范围维度查询不友好,Kylin 在查询多维度组合的 Cuboid 时,涵盖很多条件时会不会很慢?
A: 不一定,这个要看 rowkey 的设计,在设计 rowkey 的时候最好能结合查询,把经常查寻的字段和基数比较大的字段往前放,还可以通过 shard 字段切分数据做相应的优化
intersect_count 函数的使用
Q: 用 intersect_count 和直接在 where 里写 and 和 or 条件的性能是一样的么?
A: 有where 筛选条件,效率会高一点.如果有 where 条件,会首先进行一次过滤,之后再运行 intersect_count
Q: Tableau、Power BI 查询 Kylin 的话也有 intersect_count 函数吗?
A: Tableau、Power BI 没有内置 intersect_count 函数,但是可以通过直接查询模式使用
往期案例与实践
-
宅家必备 | 2019 Kylin 年度文章合辑
-
滴滴 3000+ Kylin Cube 背后的实践经验揭秘
-
Apache Kylin v3.0.0 正式发布!
-
Kylin在用户行为轨迹分析中的应用实践与优化
-
小米 Kylin 平滑迁移 HBase 实践
Kylin's Github Repo 传送门
↓↓↓
https://github.com/apache/kylin
喜欢:heart:Kylin 的话,别忘了 Star :star2:一下哟~
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 1.3万亿条数据查询毫秒级响应,如何做到的?
- 水平分库如何做到平滑扩展
- 如何做到测试场景不遗漏?
- 如何做到系统稳定——TL视角
- For OpenStack,Veritas做到了!
- 不在意他人评价,真的能做到吗?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解LINUX内核(第三版)
(美)博韦,西斯特 / 陈莉君;张琼声;张宏伟 / 中国电力出版社 / 2007-10-01 / 98.00元
为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU 不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。 《深入理解Linux内核,第三版》指导你对内核......一起来看看 《深入理解LINUX内核(第三版)》 这本书的介绍吧!