访谈 | Apache Kylin Co-Creator韩卿谈eBay与Apache Kylin的工程师文化
韩卿:Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay开发并于去年贡献至开源社区。
我们已经于2015年11月毕业成为Apache 的顶级项目,这是eBay贡献到Apache基金会的第一个项目,也是第一个完整的由国内华人团队贡献到Apache基金会并顺利毕业的顶级项目。
除了在eBay内部已经有两个生产环境在使用之外,Apache Kylin在外部也有很多的用户,包括京东、美团、百度地图、网易、Expedia、Expotional等很多国内外公司也已经在实际环境中使用起来,把Apache Kylin作为他们大数据分析的基础之一。我们的社区现在也非常热闹,可以看到来自更多公司和爱好者的讨论和案例。
韩卿:首先是产品方向上的问题,最初我们做这个产品的时候,业界并没有太多可以参考的地方,在Hadoop生态圈里,并没有能被看到的、已经成型的产品,所以当决定要自己做的时候,我和Apache Kylin当时的技术负责人蒋旭一起研究了非常多相关的论文和产品,从中找出我们要做的方向,然后一步步走到了今天。
另外,技术上的挑战也非常大,我们走的是一条简单粗暴的路子,Apache Kylin会把原始数据通过预计算的方式先存储起来,这也是一个非常经典的方式:用空间换时间,这里的挑战有很多,一是Hadoop能不能及时把数据预先算好;二是算好之后的数据存在什么地方,最终我们选择存到HBase,用分布式存储来解决这个问题;三是怎么响应前端的查询,或者说怎么支撑标准的SQL语法,在这方面我们花了非常大的功夫,最早的时候,我们的首席架构师蒋旭亲自手写了一整套的SQL解析器,后来我们觉得这块东西坑挺多的,正好业界也有一个非常好的产品Apache Calcite,就把它直接整合进来了,目前这个产品的作者Julian也是Apache Kylin的PMC Member。
攻克技术难题离不开整个团队的努力,每个Kylin团队的成员都能非常扎实的研究各种论文,算法,框架,实现各种极端案例,解决线上问题等等,小伙伴们一直非常给力!
最后一个挑战是推广上的,不管产品怎么样,必须要有用户使用,怎样开发早期客户是非常大的挑战,毕竟你的产品并不成熟,可能会有很多Bug。我们的做法也很简单,他们有什么需求,我们就快速响应,用最快的速度去满足需求、修复Bug,花了非常大的力气在这些方面,以此来不断增强客户和合作伙伴的信心,并跟他们一起成长,所以最终我们有非常好的内部客户,也能非常顺利地把整个平台构建出来。没有我们早期客户的信任和帮助,我们不可能做到今天的成绩。
韩卿:我是Apache Kylin项目的负责人,更多负责产品战略、设计与规划、客户和合作伙伴,开源社区与生态系统等相关的方向。
在这之前我是eBay BI平台的高级架构师,带领团队为eBay全球商务智能平台提供管理、架构、开发等。其实我个人认为架构和产品两者是完全相通的,一个好的产品经理应该要有架构的能力,而一个好的架构师也应该要有好的产品的思维方式。这并不矛盾,只是关注点不一样,就像我一开始的时候是一个架构师,但随着项目的发展,有了这样的需求,就慢慢的转成了产品经理的角色,来负责整个产品。
在这之前,我曾做相当一段时间和产品相关的工作,当时的公司引进了很多国外产品进入中国,包括ETL,BI,数据挖掘,可视化情报分析等,作为技术及产品负责人需要从技术、产品等各个方面去配合市场,销售及项目团队等,为客户和合作伙伴提供相应的解决方案。当时积累的很多经验,对今天做Apache Kylin这样一个产品,带来了非常大的帮助。
多接触一些不同领域,能够更好的开拓视野,在新的一些项目或机会出现的时候,就可以敏锐的把握并实现。
韩卿:先简单介绍一下我们的团队,从最初做Apache Kylin到2014年10月份我们开源的时候,团队一直都只有4个人,后来因为业务的发展和一些内部需求的提升,团队在今年年中才扩大到7人,对比其他商业公司类似的产品需要几十到上百人的团队,我们团队的战斗力是非常强的,也有很多属于自己的文化。
第一是Open,我们整个团队非常融洽,互相之间也都非常Open,有什么说什么,这是我觉得非常重要的氛围;
第二是Customer First,大家都认同这一点,不管怎么样,如果我们的客户有需求、有问题,我们都会在第一时间帮他们解决;
第三是严要求,我们招人的条件设的很高,面试时Challenge得也非常狠,所以要进我们的团队其实并不容易;
第四是Done Is Better Than Perfect,这是至今为止非常重要的一个理念,很多时候工程师会情不自禁地要把事情做得完美,但更多时候,尤其是在一个项目过程中,做出来比做得完美更重要,把握这个平衡是团队成功的关键。
第五是Dedication,大家都非常投入在这个项目中,也都愿意奉献,特别是在开源之后,大家不仅在白天为项目、为产品做开发,到了晚上,同学们也都会用自己的私人时间去帮助社区里的朋友解答问题、修复Bug等,这为Apache Kylin在eBay之外的使用者带来了非常大的帮助,也获得了社区及其它使用者的一致认可。
第六是Debate、Decision and Delivery,这是eBay所强调的文化的一部分,如果大家有不同意见,都可以讨论甚至争吵,经常有人会问我们为什么你们又吵架了……但不管如何争吵,当最终做了一个Decision,就一定要把它Delivery出来。
我们的团队文化一方面受了eBay非常大的影响和帮助,是对eBay文化的沿袭,另一方面,我们在组建这个团队的时候、在日程的工作中,也花了非常大的力气去构建整个团队的氛围与文化,让团队成员们能开心的做事,并有非常充分的空间去施展。这些加在一起打造了现在这样充满激情与战斗力的团队。
韩卿:1.eBay非常开放,尽量淡化上下级,整个研发中心和各个团队是非常开放,鼓励大家把事情做出来、讲出来,这是非常重要的一个文化,也是团队保持活力的一个重要原因;
2.eBay鼓励Do The Right Thing,从公司层面,eBay一直在强调要做正确的事,但这其实很困难,很多时候你会发现,你要做的事情,别人不一定认为是正确的、不一定同意,所以你就需要为你认为正确的事情坚定的做下去,坚持住,并承担责任。
这也是我们在Apache Kylin的研发过程中非常深的一个感受,因为我们CCOE是eBay的一个海外研发中心,虽然我们跟总部有非常好的关系,但也要花很多力气在沟通、认可等事情上,在整个研发过程中,我们时常会听到一些来自总部的Challenge或质疑,但是我们坚持认为我们做的事是正确的,并且我们坚持下来了,也的确取得了不错的成果。
有个故事是eBay有位总监在Kylin开源后给我们发过一封邮件,说她曾经好几次想过要把你们的项目砍掉,但感谢你们最终坚持了下来,并且把这个事情做正确了,给了非常高的褒奖。
3.eBay强调Work-life Balance,在这方面会比其他公司有更多的关注,人性化做得非常好,非常强调员工能在工作的同时兼顾家庭,比较开明。eBay CCOE在2013年赢得了2013大中华区最佳职场第二名(2013 Best Companies to Work for® Greater China),这是非常难得的业界和员工在这方面的一致认可。
韩卿:工作上那一定就是Apache Kylin了,当然工作之外的话,最大的成就就是我的女儿了。
其实一直对家人特别是我的老婆和女儿感到非常抱歉,因为在Apache Kylin这个项目上真的花了很大的精力,特别是去年的时候,因为跟美国那边的时差问题,基本上每天六七点就要到公司开会,晚上还会因为各种各样的事情加班到很晚,所以这一两年在家庭上真的忽略了很多。在这里,非常感谢我老婆,她在孩子、家庭上花了很大的心血。
但是,不得不说,当真正想做一件事情的时候,按照正常的上下班一定是不够的,肯定会需要付出额外的时间和精力,所以家人的支持也是项目成功的一个关键要素。
韩卿:首先必须是高兴啊,一个国内的团队将一个项目贡献并顺利毕业成为Apache顶级项目,这在eBay全球和在国内社区都是第一个,我和我们团队,整个社区都非常的开心和骄傲,并且有越来越多的其它国内外公司和个人的参与,也发展了包括美团,京东等多名Committer甚至PMC成员,社区一片欣欣向荣真的非常让人激动!
另外就是越来越忙。一方面现在需要管理更多项目和产品;另一方面,有更多的内部客户和应用案例正在或准备使用我们的平台,需要不断跟他们沟通,帮助他们更好更快的使用这个平台。
最后,Apache Kylin开源后在业界也获得了一定影响力,有更多的开源社区方面的工作,需要花费更多的精力来发展更多的使用者,更多的committer,构建生态系统。这里非常感谢业界朋友包括InfoQ等的帮忙,特别是在推进开源、构建社区上,提供了非常大的帮助。
韩卿:EGO是一个非常好的组织,能够把不同背景、不同行业的人聚集在一起,形成一个线下交流的组织,让大家能够互相学习、互相吐槽、互相成长,这正是我们现在非常缺乏的,EGO在这方面真的做得很好,几次活动都受益非浅,期待EGO能够越来越好,吸收越来越多的会员、举办越来越多的活动,带动整个技术圈的氛围,让更多的人从中受益。
版权所有 转载请注明: