专栏首页AI科技大本营的专栏Apache Kylin v2.5.0正式发布,开源分布式分析引擎

Apache Kylin v2.5.0正式发布,开源分布式分析引擎

文章转载自开源中国,作者 Apache Kylin 社区

日前,Apache Kylin 社区宣布,Apache Kylin v2.5.0 正式发布。

Apache Kylin 是一个开源的分布式分析引擎,旨在为极大数据集提供 SQL 接口和多维分析(OLAP)的能力。

这是继 Kylin v2.4.0 版本后的又一个新功能版本,该版本引入了许多极具价值的改进,包括但不限于以下几类:

All-in-Spark 的 Cubing 引擎

Kylin 的 Spark 引擎将使用 Spark 运行 Cube 计算中的所有分布式作业,包括获取各个维度的不同值,将 Cuboid 文件转换为 HBase HFile,合并 Segment,合并词典等。默认的 Spark 配置也经过优化,使得用户可以获得开箱即用的体验,相关开发任务是 KYLIN-3427, KYLIN-3441, KYLIN-3442。

Spark 任务管理也有所改进:一旦 Spark 任务开始运行,用户就可以在 Web 控制台上获得作业链接;如果用户丢弃该作业,Kylin 将立刻终止 Spark 作业以及时释放资源;如果重新启动 Kylin,它可以从上一个作业恢复,而不是重新提交新作业。

MySQL 做 Kylin 元数据的存储

在过去,HBase 是 Kylin 元数据存储的唯一选择。在某些情况下 HBase 不适用,例如使用多个 HBase 集群来为 Kylin 提供跨区域的高可用,这里复制的 HBase 集群是只读的,所以不能做元数据存储。

现在我们引入了 MySQL Metastore 以满足这种需求,此功能现在处于测试阶段,更多内容参见 KYLIN-3488。

Hybrid model 图形界面

Hybrid 是一种用于组装多个 Cube 的高级模型,它可用于部分满足 Cube 的 Schema 要发生改变的情况。这个功能过去没有图形界面,因此只有一小部分用户知道它,现在我们在 Web 界面上开启了它,以便更多用户可以尝试。

默认开启 Cube Planner

Cube planner 可以极大地优化 Cube 结构,减少构建的 Cuboid 数量,从而节省计算/存储资源并提高查询性能。它是在 Kylin v2.3 中引入的,但默认情况下没有开启,为了让更多用户看到并尝试它,我们默认在 v2.5 中启用它。算法将在第一次构建 Segment 的时候,根据数据统计自动优化 Cuboid 集合。

改进的 Segment 剪枝

Segment(分区)修剪可以有效地减少磁盘和网络I / O,因此大大提高了查询性能。过去,Kylin 只按分区列 (partitiondate column) 的值进行 Segment 的修剪。如果查询中没有将分区列作为过滤条件,那么修剪将不起作用,会扫描所有 Segment。

现在从 v2.5 开始,Kylin 将在 Segment 级别记录每个维度的最小/最大值。在扫描Segment 之前,会将查询的条件与最小/最大索引进行比较, 如果不匹配,将跳过该Segment 。更多详情请查看:KYLIN-3370 。

在 YARN 上合并字典

当 Segment 合并时,它们的词典也需要合并。在过去,字典合并发生在 Kylin 的 JVM 中,这需要使用大量的本地内存和 CPU 资源,在极端情况下(如果有几个并发作业),可能会导致 Kylin 进程崩溃。因此,一些用户不得不为 Kylin 任务节点分配更多内存,或运行多个任务节点以平衡工作负载。

从 Kylin v2.5 开始,Kylin 将把这项任务提交给 Hadoop MapReduce 和 Spark ,这样就可以解决这个瓶颈问题,更多信息请查看 KYLIN-3471。

改进使用全局字典的 Cube 构建性能

全局字典 (Global Dictionary) 是 Bitmap 精确去重计数的必要条件。如果去重列具有非常高的基数,则 GD 可能非常大,在 Cube 构建阶段,Kylin 需要通过 GD 将非整数值转换为整数,尽管 GD 已被分成多个切片,可以分开加载到内存,但是由于去重列的值是乱序的,Kylin 需要反复载入和载出 (swapin/out) 切片,这会导致构建任务非常缓慢。

该增强功能引入了一个新步骤,为每个数据块从全局字典中构建一个缩小的字典,随后每个任务只需要加载缩小的字典,从而避免频繁的载入和载出,性能比以前快3倍。查看 KYLIN-3491 了解更多信息。

改进含 TOPN,COUNT DISTINCT 的 cube 大小的估计

Cube 的大小在构建时是预先估计的,并被后续几个步骤使用,例如决定 MR / Spark 作业的分区数,计算 HBase region 切割等,它的准确与否会对构建性能产生很大影响。当存在 COUNTDISTINCT,TOPN 的度量时,因为它们的大小是灵活的,因此估计值可能跟真实值有很大偏差。在过去,用户需要调整若干个参数以使尺寸估计更接近实际尺寸,这对普通用户有点困难。

现在,Kylin 将根据收集的统计信息自动调整大小估计。这可以使估计值与实际大小更接近。查看 KYLIN-3453 了解更多信息。

支持 Hadoop 3.0/HBase 2.0

Hadoop 3.0 和 HBase 2.0 开始被许多用户采用。现在 Kylin 提供使用新的 Hadoop 和 HBaseAPI 编译的新二进制包。我们已经在 Hortonworks HDP 3.0 和 Cloudera CDH 6.0 上进行了测试。

所有v2.5.0相关的改动,可在 release notes 上找到:

https://kylin.apache.org/docs/release_notes.html

要下载 Apache Kylin v2.5.0 源代码或二进制包,请访问下载页面:

http://kylin.apache.org/download/

升级

参考升级指南 upgrade guide:

https://kylin.apache.org/docs/howto/howto_upgrade.html

原文地址: https://www.oschina.net/news/100613/apache-kylin-2-5-0-released

本文分享自微信公众号 - AI科技大本营(rgznai100)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云100亿元目标达成,发阳光普照奖iPhone 11 Pro,你酸了吗?

    原来这张图说的是腾讯云在 Q3 已完成 2019 年全年 100 亿元的营收目标,为此为部门所有员工奖励每人一部iPhone 11 Pro 新款手机。据内部人士...

    AI科技大本营
  • 从基本组件到结构创新,67页论文解读深度卷积神经网络架构

    【导读】近期一篇CNN综述文章《A Survey of the Recent Architectures of Deep Convolutional Neura...

    AI科技大本营
  • 干货 | 目标检测入门,看这篇就够了(上)

    作者 | 李家丞( 同济大学数学系本科在读,现格灵深瞳算法部实习生) 近年来,深度学习模型逐渐取代传统机器视觉方法而成为目标检测领域的主流算法,本系列文章将回顾...

    AI科技大本营
  • Kylin 新定位:分析型数据仓库

    Apache Kylin 在 2014 年 10 月开源并加入 Apache 软件基金会的孵化器,一年后从孵化器毕业成为 Apache 顶级项目。从第一天起,K...

    大数据技术架构
  • “双十二”前京东被曝用户数据泄露,官方称源自 2013 年安全漏洞问题

    神无月
  • 你看到的京东首页是如何出炉的?

    用户1756920
  • 程序员一年中最好的找工作时间是几月?

    疑惑一 程序员一年中最好的找工作时间是几月? 金三银四,越是临近年底应该越难找,因为年底了涉及年终奖之类的,一般人都是拿了年终奖过了年回来再辞职,形成一个辞职高...

    程序员互动联盟
  • 文本分类(六):使用fastText对文本进行分类--小插曲

    http://blog.csdn.net/lxg0807/article/details/52960072

    bear_fish
  • 数据类型转换看这篇就够了

    日常开发中,我们使用到的Js定义的每一个值都属于某一种数据类型,常见的js数据类型有String(字符串)、Number(数字)、Boolean(布尔)、Obj...

    树酱
  • 设计模式-用接口来实现filter!梭梭就是干!

    本期分享的内容是如何通过接口来实现filter。我们可以叫此模式为filter pattern,过滤器模式。 没错,正如题所说,核心就是接口。 实际需求 抽象...

    ImportSource

扫码关注云+社区

领取腾讯云代金券