Kylin 面试问题

Kylin 面试问题

面试官惨绝人寰输出

1.Kylin的优点和缺点?

优点:预计算,界面可视化

缺点:依赖较多,属于重量级方案,运维成本很高

不适合做即席查询

预计算量大,非常消耗资源

 

2.Kylin的rowkey如何设计?

Kylin rowkey的编码和压缩选择

维度在rowkey中顺序的调整,

将过滤频率较高的列放置在过滤频率较低的列之前,

将基数高的列放置在基数低的列之前。

在查询中被用作过滤条件的维度有可能放在其他维度的前面。

充分利用过滤条件来缩小在HBase中扫描的范围, 从而提高查询的效率。 

 

3.Kylin的cuboid,cube和segment的关系?

Cube是所有cubiod的组合,一个cube包含一个或者多个cuboid

Cuboid 在 Kylin 中特指在某一种维度组合下所计算的数据。

Cube Segment 是指针对源数据中的某一片段,全量构建的cube只存在唯一的segment,该segment没有分割时间的概念,增量构建的cube,不同时间的数据分布在不同的segment中

 

4.一张hive宽表有5个维度,kylin构建cube的时候我选了4个维度,我select *的时候会有几个维度字段?

select * from wedw_dw.t_kylin_test_df

图片

所以只能查询出4个字段

 

5.其他olap工具有了解过吗?

了解过,kylin,druid

 

6.kylin你一般怎么调优

Cube调优

l剪枝优化(衍生维度,聚合组,强制维度,层级维度,联合维度)

l并发粒度优化

lRowkeys优化(编码,按维度分片,调整维度顺序)

l降低度量精度

l及时清理无用的segment

 

Rowkey调优

lKylin rowkey的编码和压缩选择

l维度在rowkey中顺序的调整,

l将过滤频率较高的列放置在过滤频率较低的列之前,

l将基数高的列放置在基数低的列之前。

l在查询中被用作过滤条件的维度有可能放在其他维度的前面。

充分利用过滤条件来缩小在HBase中扫描的范围, 从而提高查询的效率。 

 

7.kylin的原理和优化?

原理:预计算

优化同上

 

8.为什么kylin的维度不建议过多

Cube 的最大物理维度数量 (不包括衍生维度) 是 63,但是不推荐使用大于 30 个维度的 Cube,会引起维度灾难。

 

9.Kylin cube的构建过程是怎么样的?

  • 选择model

  • 选择维度

  • 选择指标

  • cube设计(包括维度和rowkeys)

  • 构建cube(mr程序,hbase存储元数据信息及计算好的数据信息)

 

10.Kylin维度优化有几种类型?

  • 衍生维度

  • 聚合组

  • 强制维度

  • 层级维度

  • 联合维度

 

11.Kylin的构建算法

快速构建算法(inmem)

也被称作“逐段”(By Segment) 或“逐块”(By Split) 算法,从1.5.x开始引入该算法,利用Mapper端计算先完成大部分聚合,再将聚合后的结果交给Reducer,从而降低对网络瓶颈的压力。该算法的主要思想是,对Mapper所分配的数据块,将它计算成一个完整的小Cube 段(包含所有Cuboid);每个Mapper将计算完的Cube段输出给Reducer做合并,生成大Cube,也就是最终结果;如图所示解释了此流程。

图片

与旧算法相比,快速算法主要有两点不同:

  • Mapper会利用内存做预聚合,算出所有组合;Mapper输出的每个Key都是不同的,这样会减少输出到Hadoop MapReduce的数据量,Combiner也不再需要;

  • 一轮MapReduce便会完成所有层次的计算,减少Hadoop任务的调配。

 

12.cube优化?

  • 剪枝优化(衍生维度,聚合组,强制维度,层级维度,联合维度)

  • 并发粒度优化

  • Rowkeys优化(编码,按维度分片,调整维度顺序)

  • 降低度量精度

  • 及时清理无用的segment

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值