kylin——cube字段压力测试

kylin cube压力测试

100万数据 7 个字段 有维度 测试时间 28分钟,占用空间200M
100万数据 8 个字段 有维度 测试时间 32分钟,占用空间350M

100万数据 9 个字段 有维度 测试时间 39分钟,占用空间560M

100万数据 10个字段 有维度 测试时间 80分钟,占用空间2.73GB

100万数据 11 个字段 有维度 聚合组(9+9) 测试时间 80分钟,占用空间2.1G
100万数据 11 个字段 有维度 测试时间 150分钟,占用空间5G

100万数据 12 个字段 有维度 测试时间 285分钟,占用空间13G

100万数据 13 个字段 有维度 聚合组(11+10) 测试时间 118分钟,占用空间5.33G
100万数据 13 个字段 没有维度 测试时间 6个小时,占用空间21G

100万数据 14 个字段 没有维度 测试在维度自由组合时内存溢出

200万数据 7 个字段 测试时间 17分钟,占用空间200M 没有加上维度表字段 使用资源
当时正在用跑其他的mr,占用资源

200万数据 8 个字段 测试时间 23分钟,占用空间400M没有加上维度表字段

200万数据 8 个字段 测试时间 23分钟,占用空间400M 加上维度表字

200万数据 9 个字段 测试时间 37分钟,占用空间800M 加上维度表字段

800万数据 7 个字段 测试时间 27分钟,占用空间200M 加上维度表字段

3200万数据 7 个字段 测试时间 20分钟,占用空间200M

3200万数据 11个字段 测试时间 120 分钟 占用空间 4.3G 使用资源

3200万,1600万,800万数据 12 个字段在第三步 资源占用多
计算每一个出现事实表中维度和度量的distinct值以列命名写入文件(维度列的distinct值不能太大即维度表中的distinct值不能太大 会造成OOM,唯一id值太大)

Mapreduce 被kill掉

在这里插入图片描述
在这里插入图片描述

1:不同聚合组进行比较

不同聚合组进行查询, 查询不同字(相同字段数下)
查询时间是5.22m

在这里插入图片描述
在这里插入图片描述

不同聚合组需要考虑 维表中数据的基数,基数越大用时越长,需要临时计算
在这里插入图片描述

不分聚合组进行比较

相同条件下查询0.4s

在这里插入图片描述

2

添加维度信息和不添加维度信息是没有区别:build时间相同,占用空间相同,资源占用相同,维度组合也相同: 只对事实表中normal进行计算

在这里插入图片描述

3
不同数据量和相同字段build时间

100万数据和200万,800万数据 build时间是相同的 17分钟
3200万 build时间 20分钟

维度组合是相同的

总结:不同数据量build时间是由跑MapReduce的时间决定的,跑mr的时间在相对数据量,几百万到千万级别时间不会很大,

为什么相同的维度不同数据时间会一样?
想法:因为是相同的维度,组合的次数是相同的 例如 7个字段 计算2的7次方,生层7层cuboid文件,每层文件进行计算也是用的mr,build的流程中计算每一层的cuboid是相同的所以时间会相同

4字段阈值:

通过测试发现 3000万数据12 个字段是阈值,基于本身数据,在12个字段时就会发生就会发生OOM,原因在上边已解释,在此情况下就需要优化。

build 流程
1 创建kylin的临时表,在hive中创建,并向其中insert overwrite数据
跑的是mr
2 创建事实表的Distinct columns 文件 计算每一个出现事实表中维度和度量的distinct值以列命名写入文件(维度列的distinct值不能太大即维度表中的distinct值不能太大 会造成OOM 不要添加 id就好)

3 构建维度词典 所有维度的成员会加载到内存,如果维度基数太大会OOM
4保存cuboid的统计信息
5 创建htable
6 计算生成cube中所有维度自由组合的数据文件
7 计算每一层Cuboid文件
跑的是mr
8 基于内存构建cube
9 将每层生成的数据 转换成hfile
10 将hfile加载到HBase中
11 更新cube信息
12 清理hive缓存(即在第一步生成的中间表)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值