现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

七牛技术总监陈超:记Spark Summit China 2015

2016-01-19 07:53 工业·编程 ⁄ 共 4234字 ⁄ 字号 暂无评论

Spark Summit China 2015于4月18日在北京国际会议中心顺利召开。作为本次峰会的主席,我很荣幸地邀请到了来自Databricks、微软亚洲研究院、IBM、英特尔、Cloudera、百度、阿里巴巴、腾讯及亚信的Spark开发者与使用者来分享他们的宝贵经验。本文,我将从我的视角来解读本次Spark峰会所传递出来的信息。下面一起回顾:

Tathagata Das:New Directions for Spark in 2015

从TD(Spark Streaming负责人)的第一场分享来看,Spark确实已经开始在大数据领域起到中流砥柱的作用了。同时,Spark本身的发展也相当迅猛:2014年,Spark的代码量从19万增加到37万,代码贡献者从150多人上升至500多人,对比之下,Hadoop前进的脚步显然慢了一些。过去一年,Spark的重点基本是在稳定性和效率上,当然Spark社区也一直在提供更丰富的Library。而在2015年,Spark的新方向是数据科学与平台化。Spark1.3正式发布了DataFrame,这个后面连城的分享会有更详细的阐述。Machine Learning Pipeline的出现使得机器学习更加便捷。TD同时也透露Spark1.4中将引入SparkR,这显然是给数据科学从业者注入了一针强心剂。另外一方面,Spark也可以基于DataSource接口无缝接入各个不同的数据源,这不仅给不同数据源的使用者提供了更便利的Spark使用方式,更给那些需要从不同数据源收集数据,并结合起来进行分析挖掘的用户提供了一个极其简单的实现。最后TD表明,基于Spark的第三方package也发展迅猛。

周虎城:Spark Ecosystem and Applications inside Microsoft

第二场演讲来自微软亚洲研究院的周虎成,他主要介绍了Spark在微软内部的使用。听完周虎成的分享后,我本人其实对于微软会将Spark用的这么深入而略感意外。刚开始时,周虎成就说了一句非常有意思的话——“微软可能是目前唯一一个将Spark跑在Windows Server上的用户”。微软的Spark生态系统由Resource Management、Data as a Service、,Spark as a Service 及 App组成,其中data可以支持HDFS、Cosmos、 Azure storage、Entity store及Tachyon。值得一提的是,微软使用了Zeppelin作为交互式分析工具。此外,Spark Streaming与MLlib在微软内部也有被使用。

王联辉:腾讯在Spark上的应用与实践优化

第三位进行分享的是腾讯高级工程师王联辉。众所周知,腾讯在很早之前就开始使用Spark了,在TDW得到了深度运用,TDW目前拥有8000多的结点。在腾讯内部,每天由Spark执行的任务数在10000以上,典型的应用场景是:1、预测用户的广告点击概率;2、计算两个好友间的共同好友数; 3、用于ETL的SparkSQL和DAG任务。最后王联辉也给出了腾讯在Spark实践中的一些优化,给大家带来了较大的帮助。

连城:四两拨千斤——Spark SQL结构化数据分析

第四场是Databricks工程师、Spark Committer、Spark SQL主要开发者之一连城带来的Spark SQL相关分享。连城给出了一组关于Spark SQL的开发者数据,数据表明Spark SQL当仁不让的成为Spark中最活跃的组件,并且也正式在Spark1.3中从alpha版本毕业。连城主要介绍了DataFrame(DF),他表示,DF的出现使得语言的选择(这里主要指Scala、Python与Java)变得不那么重要,因为无论你选择何种语言,DF都有非常优秀的性能,并且明显好过直接针对原始RDD的编程。最后连城认为DataFrame已经成了NewRDD,我也比较认同这个观点,相信以后很多场景下,一定都是直接针对DataFrame的编程。

马小龙:Spark在百度的工程实践分享

第五场由百度资深软件工程师马小龙分享Spark在百度的应用。百度目前的Spark集群规模为1500台左右,每天的作业数在10000左右。比较有趣的是,马小龙给出了不同语言的API在百度被使用的比例,其中Python占到70%, Scala占到20%,Java仅占比10%。在百度的众多Spark case中,Tachyon的使用是比较有意思的。百度目前面临着数据节点和计算节点不在同一个数据中心的可能,还有跨数据中心访问延迟大的问题。百度使用Tachyon作为Transparent Cache Layer,冷查询直接从远程存储节点读取数据,而热查询直接从Tachyon读取。结果表明,采用Tachyon后,热查询的效率提高了10倍以上。

黄明:图流合壁——基于Spark Streaming和GraphX的动态图计算

第六场分享由阿里巴巴淘宝技术部高级技术专家黄明(明风)带来,他主要讲的是利用Spark Streaming与GraphX进行的动态图计算相关的内容。有个小花絮,TD对明风的分享非常感兴趣,整个过程中都在与我交流,他也希望有更多有意思的用法出现。明风表示,单纯基于GraphX的图计算可以对用户进行社区划分,可以更好地为决策提供依据。但是每天一次离线计算不及时,没法快速响应业务,而业务需要实时对淘宝的用户进行社群划分,所以明风团队决定尝试由实时消息与实时图构建组成的动态图模型。通过实时效果修正,新的模型体现出了显著的优势,处理时间可以控制在一分钟以内。

田凤占:Spark驱动智能大数据分析应用

第七场分享由Cloudera的高级架构师田凤占博士带来。田博士主要介绍了Cloudera在Spark上所做的努力,并且表示Cloudera已经完全拥抱了Spark,全方位支持Spark的发展。田博士抛出的一个观点很有趣:关注开放标准,而不仅仅关注开源。意思就是厂商需要支持那些被使用最广泛的组件。

黄洁:Spark优化及实践经验分享

第八场分享由英特尔大数据技术中心研发经理黄洁带来的Spark优化及实践经验分享。本场分享在会后带来了极大的反响,建议每一位Spark使用者都去看下黄洁的这份slide,相信一定会使你受益匪浅。黄洁从内存管理、提高IO及优化计算三方面来阐述如何使Spark更加高效。其中的一些方法为用Tachyon作为Spark的off-heap memory,提供更好的任务数据本地性及优化的shuffle实现。最后黄洁也给出了两个可以来评测Spark运行状况的工具。

Tathagata Das:The State of the Union of Spark Streaming and the Road Beyond

第九场分享还是来自TD,不过他这次分享的是Spark Streaming相关内容。TD介绍了Streaming的发展,并且给我们展示了很多使用Spark Streaming的公司,可以看到,Spark Streaming的高质量用户已经非常多了。TD尤其强调了Spark 1.3中release的Kafka Direct Stream API——既然现在Kafka的用户如此之多,所以更好的支持Kafka就显得尤为重要。新的Kakfa Direct Stream API使用了Kafka的simple consumer API,不需要receiver并做到零数据丢失,而且支持exactly-once语义。

田毅:Spark平台在电信运营商的应用实践

第十个进行分享的是亚信大数据平台研发部门经理田毅,其演讲内容是基于Spark改造用户标签分析查询平台。改造前,平台主要是直接利用SQL从数据库中进行查询,这样做的直接问题是标签数量越来越大,数据库负载过高,扩展成本高。因此,田毅团队利用Spark SQL的External Datasource从外部系统的数据表中抽取数据后直接分析,大大提升了效率,最后田毅团队引入了Spark Streaming,使得处理时间进一步缩短。

陈冠诚:基于OpenStack、Docker和Spark打造SuperVessel大数据公有云

最后一场分享由IBM中国研究院高级研究员陈冠诚带来的Spark、Docker与OpenStack的结合实战。这可能也是后面发展的一个方向,就是将容器技术与大数据框架结合起来跑,我本人也十分期待后续更多类似的案例出现。

以上是本次Spark中国峰会的各场次摘要,由于篇幅所限,无法做更详细的展开,大家可以选择感兴趣的话题去查阅相关资料,同时也欢迎讨论。

本次峰会的另一大亮点是报名企业的种类非常多,不仅大量的互联网公司派遣相关人员参会,不少传统企业也对Spark表现出了极大的兴趣。在上午的峰会中,会场两边与后面的走道都挤满了观众,这样的热情有点出乎我的意料,所以组委会临时决定下午减少现场的桌子,增加一些椅子给各位参会者。同时,相比去年的峰会,今年的Spark峰会显得更加自信。去年,大部分参会者可能更多是抱着“我能不能用Spark”的心态来的,而今年参会者想得更多的是“我怎样才能更好地使用Spark”。从我与不少现场参会者的交流来看,大家已经非常认可Spark了,我们有理由期待Spark成为继 Hadoop(MapReduce)后新一代大数据处理事实上的标准。在Spark后续的发展中,我认为DataFrame将毫无疑问成为核心,所以我建议Spark的使用者都来关注一下DataFrame,另一方面,我也预计将会有越来越多的数据科学家会选择使用Spark,而Spark SQL、Spark Steaming及MLlib这三个组件一定会有更多融合使用的场景。希望在明年峰会的时候,有更多有意思的议题出现。

2015年的峰会圆满落幕了,借此机会感谢各位讲师,感谢各位参会者,也要感谢主办方,希望明年我们可以共同办一届更加成功的峰会。

Spark——星星之火,已经燎原!

后记:北京时间2015年4月28日晚,Databricks在其公司博客宣布了Tungsten项目,这将是自Spark诞生以来内核级别的最大改进。同时,据Reynold透露,Tungsten将在未来两到三个release内实现。届时,Spark的执行效率又将有大幅提升!这似乎也在说明着——Spark的优化,永不止步!

给我留言

留言无头像?