专访韩卿:Kylin 是如何成为 Apache 顶级项目的?

  • 郭蕾

2015 年 12 月 8 日

话题:Apache大数据语言 & 开发架构AI

2015 年 12 月 8 日,Apache 基金会批准 Apache Kylin 正式毕业成为 Apache 的顶级项目。Apache Kylin(麒麟)是由 eBay 研发并贡献给开源社区的 Hadoop 上的分布式大规模联机分析(OLAP)平台。Kylin 于 2014 年 10 月开源,并于当年 11 月成为 Apache 孵化器项目,是 eBay 第一个贡献给 Apache 软件基金会的项目,也是第一个由中国团队完整贡献到 Apache 的项目。为了了解 Apache Kylin 的开源发展历程以及经验,InfoQ 记者采访了该项目的负责人韩卿。

InfoQ:请简单介绍下 Apache Kylin 的开源发展历程以及目前的项目状态。

韩卿:Apache Kylin 是在 2014 年 10 月 1 日由 eBay 在 github.com 上开源,之后在业界获得了非常积极的反馈,相关 Hadoop 方面的资深成员提议让我们申请加入 Apache 孵化器以获得更好的发展,并愿意做我们的 Mentor。经一系列工作后于 2014 年 11 月 25 日正式加入 Aapche 孵化器项目,经过不到一年的时间,Apache Kylin 正式成为 Apache 顶级项目,其为 eBay 全球贡献至 Apache 软件基金会(ASF)的第一个项目,也是全部由在中国的华人团队整体贡献至 Apache 的第一个项目。

目前 Aapche Kylin 社区的有 5 位 mentor,13 位 PMC 成员(来自 eBay,美团,明略数据等)及众多 contributor (GitHub 上显示有代码提交的有 31 位,还有更多在邮件列表,JIRA 及其他地方的贡献者),我们正在发展新的一批的 committer。目前 eBay 团队有 7 位成员全职参与此项目。

在 eBay,已经上线两个生产环境平台,有着诸多的应用,包括用户行为分析、点击分析、商户分析、交易分析等应用,最新的 Streaming 分析项目也已经上线。目前在 eBay 平台上最大的单个 cube 包含了超过 850 亿的数据,90% 查询响应时间小于 1.5 秒,95% 的查询响应时间小于 5 秒。

此外,社区中也有包括来自百度地图、京东、美团、唯品会、明略数据、Expedia 等各个公司的诸多应用已经上线使用。

InfoQ:开源一年的时间,就成为了 Apache 的顶级项目,并且全部由中国团队运营,这是中国开源历程里的一个重要里程碑。回顾这一年,你们在开源项目运营上,都做了哪些工作?

韩卿:非常感谢对 Apache Kylin 项目及我们团队和社区的褒奖。在项目伊始,我们就面临无数的挑战,包括技术、产品以及其他各个方面。除了在内部积极推动项目,吸引更多应用来使用 Kylin 平台外,开源项目的运营也是工作的重点。作为 Kylin 产品及开源社区负责人,在项目开源之前就定下了“发展社区”及”构建生态系统”两个重要的方向。

发展社区

正如 Apache 一直强调的:Community over Code。Apache Kylin 开源后,社区发展一直是对外的工作重点之一,通过各种渠道扩展线上线下社区,并且积极参与和组织各种活动和 Meetup,比如 Apache Kylin Meetup,Spark Meetup 等等,参加国际国内各个行业大会,包括 Strata+Hadoo World 伦敦,Hadoop Summit 硅谷,大数据技术大会,数据库技术大会,QCon,ApacheCon 等。通过媒体网站,社交媒体,微信等进一步扩展 Apache Kylin 的知名度,吸引了非常多对 Apache Kylin 技术有兴趣的公司和个人参与进来,之后整个团队非常积极的响应各种问题,及时修复各种 Bug,为赢得初期客户打下了坚实基础,由此 Apache Kylin 的社区也初步建立起来。随着后续相应版本的稳定发布,各个不同案例的成功应用,Kylin 社区越来越活越,更多的 contributor 更多的 committer 不断加入,发展了包括来自美团,京东,明略数据等多位 committer,并正在发展新的一批 committer,同时也和其他开源社区形成了良好的互动,包括 Apache Zeppelin,Apache Calcite 等。

构建生态系统

一个应用很难单独的存在与一个企业中,不管是商业产品还是开源项目。从一开始,我们就定下了只关注核心功能,尽可能与整个产业链中的其它产品,项目及公司进行合作的方向。比如在前端展现方面和 Tableau 进行充分合作,在存储方面依靠 HBase 等。Apache Kylin 的生态圈图从第一版到现在没有太多的变化,只是增加了更多的朋友,例如 Apache Zeppelin 等,随着新版架构的改进,整个项目将与 Spark,Kafka, Excel/PowerBI, Docker 等形成更好的互补和整合,积极融入整个大数据生态圈并打造自己的生态系统。

积极学习 Apache 社区的运作方式

作为第一个 Apache 项目,从公司到团队到个人都没有特别多的这方面的经验。因此我们在加入 Apache 后积极学习和遵循 Apache 社区及项目的运作方式,特别是 The Apache Way、Community Over Code 等。另外整个团队与我们的 mentor 们形成了很好的互动,在各个方面获得了他们极大的指导和帮助,整个团队,社区一起不断进步和发展,为我们顺利毕业成为顶级项目提供了前提。

InfoQ:有人说过,开源社区也是混圈子,能详细阐述下这个『感受』吗?

韩卿:首先,社区是什么?技术社区不是一个在线论坛或者微信群,而是围绕一个产品或者技术,具有共同兴趣或者爱好而所形成的人与人之间的联系和互动。所以仅仅只是参与在线论坛或者邮件列表,提交代码,贡献补丁是远远不够的,需要不断的认识朋友,与不同的人就行交流,不断碰撞新的想法,积极与其他人进行互动等。在硅谷,经常有各种 meetup、user group 等组织这方面的活动,比如 Spark、Hive、Kafka 等等,通过线下活动将线上的 ID 映射到活生生的人的时候,圈子自然形成了,朋友自然就交到了,如果你的技术或者产品很吸引人,自然会有更多人愿意来帮助。另外一方面,混熟悉后,不管如何当需要帮忙的时候就方便的多了。这方面我们国内的开发者社区还远远不够,不过已经看到了非常不错的交流氛围,也希望更多的朋友能够参与到国际社区的交流中,这样当你需要找人投票,找人帮忙 review code 的时候就容易的多,也是一个很好的机会向国际社区展现来自我们本土的技术力量和产品等。

InfoQ:目前国际上有几个大的基金会,如果要捐献,就基金会的选择方面,你有什么心得?

韩卿:目前国际上有 Apache 软件基金会,Linux Foundation 基金会,Open Stack 基金会,容器基金会等,由于本人较少参与其他基金会,这里仅给出一些简单的个人看法:

如果你要捐献你的项目至开源社区,为其选择合适的基金会很重要,比如大数据(Hadoop/Spark 等)相关,则 ASF 是比较好的地方,绝大部分的大数据相关项目目前都在 Apache 旗下,如果是云计算方向,则 OpenStack 基金会则是很好的地方,如果是微软技术系列的项目,则最新的.NET 基金会是更好的选择。

选择合适的基金会将会为项目带来诸多便利,相关参与者及贡献者一般都活跃在特定的基金会及相关的社区中,在那里较容易获得更多的关注和帮助。比如在 Apache 中很容易找到 Hadoop、Spark 相关人士,但云计算方向就比较少。

InfoQ:Apache Kylin 项目做的很棒,在这段时间里,公司的支持一定是你们强有力的后盾吧。就公司的开源战略和投入方面,你有什么经验?Apache Kylin 的成功对 eBay 有什么意义?

韩卿:Apache Kylin 项目的成功离不开 eBay 公司的支持,最初的立项、团队、客户案例等都是从 eBay 内部挖掘的,虽然我们在一开始就定了要开源的方向,但我们设定了内部必须有真实案例上生产环境才可以对外开源,事实上,Kylin 在 eBay 内部的生产环境正式于 2014 年 9 月 30 日上线,同时有三个应用案例,在隔天即 2014 年 10 月 1 日我将代码 push 到了 GitHub 上。此外管理层也给了巨大的支持,从美国总部到 eBay 中国卓越技术中心(CCOE)都给予了充分的信任和支持,为团队能够非常专注在产品设计,技术研发,应用开拓上提供了必要的支持。

eBay 公司一直参与开源社区,贡献了很多项目至开源世界,特别是从 2013 年开始,公司决策层将采用,参与及贡献回开源社区作为战略指导,鼓励各个团队参与和贡献至开源社区,Apache Kylin 在项目一开始就获得 eBay 高级副总裁的直接 comment: Ready Open Source from Day One。

Apache Kylin 所获得的影响在公司内外部引起了积极反响,也获得了非常高的评价,从 CTO 到高级副总裁到部门 VP 等都给予了极大的赞赏和鼓舞。特别是 Apache Kylin 在今年的 InfoWorld Bossie 大奖中与 Apache Spark,Apache Kafka,Druid,Apache Flink 等一同荣获“最佳开源大数据工具”奖,是业界对整个项目的认可,也在 eBay 内部引起了巨大的影响,也为后续的其他项目进一步贡献至开源社区带来了一个好的开端,来自我们部门的另一个项目 Apache Eagle 已经于 2015 年 10 月正式成为新的 Apache 孵化器项目。

InfoQ:接触了这么长时间的 Apache 社区,有什么感想和读者分享吗?

韩卿:相对于直接在 github.com 或者其他地方开源方式,Apache 社区及基金会给人的感觉会更加“古板”和“官僚”,比如到目前为止,讨论社区都还是以邮件列表(文本形式)为主,还不能使用 Google Group 等“现代”工具。讨论,设计,决策,版本发布等都需要遵守一定的规则来完成,甚至很多时候以为一些细节问题不得不重新生成发布包并重新投票。

但是,这些方式,以及 ASF 一直推崇的 The Apache Way 为一个开源项目带来的是更好的治理(Governance)和品质,相信每一位朋友和我的感觉一样,一个来自 Apache 的项目或者 framework 是可以放心使用的,基本上不用担心有什么大的问题,更新上也会有一定的保证,这比在 GitHub 上看到一个好项目,但几个月甚至一年都没有更新,要靠谱的多的多。

而且 Apache 软件基金会会定期 review 不活跃的项目,重新寻找贡献者,或者直接 retire 该项目,通过这样的方式保证了 Apache 社区中的项目都具有稳定的活跃度和较高的品质。

对于愿意参与开源项目,个人非常推荐多多参与 Apache 相关项目,一方面可以为开源项目做贡献,另一方面也是一个很好的机会可以学习西方文化,学习其他项目如何运作;对于有兴趣贡献项目的朋友,Apache 软件基金会是个不错的选择,如果你的项目希望加入 Apache 孵化器,可以联系我,希望我们在这方面的一些经验可以对大家有一些帮助。

InfoQ:接下来 Apache Kylin 有什么规划?

韩卿:我们正在准备 Apache Kylin 2.0 的发布工作,预计 2015 年年底前会发布一个稳定的 beta 版本,该版本将支持 StreamingOLAP 及可插拔架构(Plugable Architecture)。之后将更关注在实时 OLAP, Spark 生态整合,快速的明细数据查询,更多友好的客户端(包括 Zeppelin,Excel,PowerBI 及其他 BI 和展现工具),完善的 SQL 功能及高级函数支持,以及稳定性和易用性等方面。

更多的关于 Kylin2 的特性及计划,请关注 Apache Kylin 的微信公众号(ApacheKylin)或者 Twitter 帐号(@ApacheKylin)以获得最新的信息。

关于韩卿(Luke Han)

现任 eBay 全球分析基础架构部 (ADI) 大数据产品负责人, 负责包括 Apache Kylin,Apache Eagle 及其它大数据相关产品的设计,规划,战略和执行。并且作为 Apache Kylin co-creator & VP 管理和驱动 Apache Kylin 的愿景,路线图,特性及计划等,在全球各地不同部门中发展客户,开拓内外部合作伙伴及管理开源社区等,建立与大数据厂商,集成商及最终用户的联系已构建健壮的 Apache Kylin 生态系统。在此之前任 eBay BI 平台高级架构师,带领团队为 eBay 全球商务智能平台提供管理,架构,开发等,在大数据,数据仓库,商务智能等方面拥有超过十年的工作经验。

Apache大数据语言 & 开发架构AI