12月10-12日, 2015中国大数据技术大会 将在北京召开。会议前夕,我们特采访了本次会议的全体会议讲师辛湜(Reynold Xin),以期对其从事工作和演讲内容有进一步的了解。
下为采访实录
CSDN:请介绍一下自己。
辛湜:我是Databricks的联合创始人,也是Spark PMC成员和架构师。日常主要负责Databricks公司和Spark未来技术发展的方向。在Databricks公司成立之前,我在UC Berkeley AMPLab攻读博士,方向专注在数据库和分布式系统。
CSDN:要说时下最受关注的大数据计算框架无疑当属Spark,是否可以透露一些数字让大家了解一下各个机构和个人对Spark的参与情况。
辛湜:在大家的支持下,Spark发展的非常快,在过去一年就有600多个来自世界各地的人贡献代码。Spark目前已经是数据领域(包括大数据和小数据)最活跃的社区,也是Apache软件基金会最活跃的项目。
因为社区很大,所以很难一一列举,不过除了Databricks之外,一些比较活跃的公司包括了Yahoo!、Hortonworks、Intel、Netflix、腾讯等等。
CSDN:你认为是什么样的特性让Spark吸引到了如此多开发者和机构参与?是否可以举一些实际用例?
辛湜:最开始是“快”以及最初团队对用户的注重。Spark设计和开发里很多的周期都花在了从用角度考虑怎么让用户更简易有效地解决问题。
发展到现在,Spark已经形成了大数据最大的一个生态系统,所以很多的价值已经是生态系统里面的其他项目带来的,包括了连接到各种数据源的能力等等。
CSDN:我个人一直跟随着国内的Spark社区,Spark在中国发展的如火如荼,但是因为各种因素(比如语言,时差等)的原因,中国的程序员往往很难和社区积极互动,随着DataBricks中国团队未来的发展,有没有计划针对中国开发者的特殊支持方式?
辛湜:接触了很多国内工程师之后,我个人感觉国内工程师要进一步提高在开源社区的影响力最大的挑战还是在沟通上。其实在大的工程项目上,具体的想法和代码的实现只是一部分,更大的一部分是怎么向世界各地的其他社区成员解释清楚自己的想法,说服他们这是一个有价值的改动。因为我们团队内部很多中国人,我们也尝试过让一些国内的社区成员直接用中文沟通,但是最后效果也不尽理想。
还有一点和地理位置没有什么关系,国内外都可以改进的就是从长远的全局出发考虑问题。有不少社区成员在思考一个问题的解决方案时,过分注重怎么在短期内解决一个问题,而忽略了解决方案对整个项目的长期影响。
其实现在也有不少国内互联网公司的工程师参与到了社区里面,也有不少做的很好的。在美国的Databricks工程团队里面也有很多中国人。我觉得随着时间的发展和经验的积累,来自中国的社区成员肯定影响力会越来越大。
CSDN:CSDN一直都非常关注Spark,我们建立了两个微信用户群(1群已满500人,2群200+),此外还建立了一个接近2000人的QQ群(213683328)。在群里,大家的交流都非常活跃。在我的关注中,有一个问题是经常被谈论的,那就是Spark 2.0。在这里,你是否可以给大家具体地展望下Spark2.0,2.0预计什么时候发布,主要目标有哪些?
辛湜:2.0应该在明年三四月份发布。有几个比较大的改动:
第一个是我们会把项目主要的API从RDD过渡到DataFrame和Dataset上。第二个是Spark Streaming会有一些大的更新,包括event time支持等等。第三个是各方面性能上应该会有不少的提升。具体的计划需要等到明年第一季度才能确定。
CSDN:在Spark 2.0之外,大家同样期望了解 Spark DataSourceAPI中什么时候能加入更多的Feature,比如join操作的push down, 比如聚合操作的push down。
辛湜:这个也是我们一直在思考的方向,但是这个API设计的挑战难度很高。另外一个想法在JDBC data source里面支持直接生成把join和aggregate push down的SQL。
CSDN: Spark目前在使用过程中,一个比较头疼的问题是多种work load共享计算资源的问题,虽然目前有dynamic allocation的方式,但是大家通常还是自己实现一个Spark JobServer来实现,请问Databricks内部有什么“秘诀”来更好的支持多个workload的资源共享问题么?
辛湜:我们内部也有一个类似job server的东西,但是集成程度和内部平台很高,所以比较难剥离。很多时候大家如果只是需要SQL的资源共享的话,其实现在的Spark SQL JDBC server已经支持那个了。
未来我们在思考的一个重要方向是怎么更好地让内存中的数据共享。
CSDN:最后,大家也比较关心的DataBricks在北京的研发团队,请谈谈团队招聘要求:)目前组建情况以及未来对Spark在中国发展的意义?
辛湜:我在 微博上有一个具体的要求。
其实最重要的两点是(英文)交流能力和技术能力。技术能力上因为Spark是比较底层的软件,对技术功底要求比较强,也需要做的人能够比较有耐心,目前国内这样子的人其实还不是很多。
对有志者这是一个很好的机会,可以直接和世界最顶尖的研究员和工程师共事。我也希望我们能够培养下一代在大数据和分布式系统比较大影响力的工程师,可以站在世界最高点。
CSDN:我们都知道,在国外,你们推出了一个基于Spark的云服务,那么在中国,Databricks云服务会有什么样的规划?
辛湜:这个我们一直在探索,但是因为国内和国外市场的巨大差异,短期内可能没有什么具体的计划。