带着沉甸甸的的收获,2014中国Spark技术峰会胜利闭幕

“2014 中国Spark技术峰会”(Spark Summit China)于2014年4月19日成功召开,国内外Apache Spark社区成员和企业用户将第一次齐聚北京。来自AMPLab、Databricks、Intel、淘宝、网易等公司的Spark贡献者及专家与来自近100余家企业,280余位一线开发者分享在生产环境中使用Spark及相关项目的第一手经验和最佳实践方案。
[详情] CSDN Spark技术交流群

图文实录

  • 17:40英特尔亚太研发有限公司大数据部门构架师夏俊鸾主持了最后的圆桌论坛与观众互动,Spark Contributor连城、腾讯精准推荐中心广告推荐负责人薛伟、皮皮网数据平台经理陈超、淘宝技术部数据挖掘与计算技术专家明风共同回答了现场观众的提问:如何向社区贡献代码以及未来Spark和Hadoop的关系等。几位专家都认为短期内Spark和Hadoop是小伙伴的关系,优势互补、长期共存。

  • 16:50腾讯精准推荐中心广告推荐负责人薛伟的方向很聚焦:《快速模型更新在精准广告推荐中的应用》,但外延却很广。不仅有技术选型,还有应用场景,应用Spark的经验,如何搭配使用上下游的技术来发挥最大的效力,以及最终在生产实践中取得的效果等。腾讯在算法方面积累很深,规则算法、基于内容的算法、协同过滤算法、图算法、分类算法,进而形成了混合算法,并针对不同应用场景,采用不同的算法。随着技术发展,精准广告面临:规模大、变化快、学习模型需要依照精准营销来快速变化等挑战。腾讯的技术虽需求而完善,形成了以Spark为核心,多技术协作的模式。比如:基于Apache Flume的分布式实时数据接入平台TDBan,基于Apache Hadoop + Hive的分布式数据仓库的TDW,基于Apache Storm的分布式实时数据处理平台的TDProcess,全内存分布式K/V存储的TDE以及用于运行迭代式机器学习算法,训练推荐模型的Spark。而相关实验表明,(Spark)快速模型更新可带来5%-15%的效果提升。未来,腾讯还将在数据仓库,交互式数据分析,Spark on Yarn,加强QoS保障等方面使用Spark。

  • 16:15单身帅小伙,Intel工程师尹绪森分享的主题是《当机器学习遇到大数据系统:从Spark MLlib看两者的混合发展》。他的成长路径,CSDN已经做过采访,对机器学习和Spark都感兴趣的朋友们而言,很有价值http://www.csdn.net/article/2014-03-26/2818976-Spark-Summit-China。众所周知,机器学习尽管很热,但模型准确性和计算有效性的取舍;数据可用性进展缓慢;可用性不强都制约着机器学习的发展。而在Spark的框架下,通过Spark MLlib实现实现并行模式及优化算法,得到高效的机器学习算法却很容易。比如,用复合函数代替用HDFS做数据交换,方便;Logistic regression、 Lasso、Ridge regression、SVM,易用等。

  • 15:50网易大数据高级研究员王健宗同样聚焦在《面向实时计算和ETL处理的Shark应用》。在他看来,大数据应用类型有两种:批处理和流处理。前者是先存储后处理,后者是直接处理。而为了实现商业智能,实时分析处理成为主流。Spark相比MR模型,优势在于:增加并行性(加速并行并优化计算中的基本操作如Map、Filter、Group by、Join等),增加CACHE命中率(为了数据有效的复用,增加CACHE命中)。网易采用的是混合方案,在Hadoop/Hive平台上,在ETL处理框架中引入Shark。从其对比测试上看,Shark表现还是不错的。不过,针对内存消耗大,对硬件/调优的要求较高(版本升级快,Mesos配置不太稳定等),权限控制,Hive支持度(如,不支持桶(buckets)),对join 操作这种会放大原始数据集的操作有时候会发生Out Of Memory等问题,网易也希望Spark SQL能尽快取代Shark,解决这些问题。

  • 15:10曾任Intel物联技术研究院研究员,Spark contributor,即将加入Databricks的连城分享的是《Catalyst: Spark a Chain Reaction》。核心是分析Spark主线版本的alpha组件Catalyst/Spark SQL。事实上,Shark面临的问题很棘手:Hive基于MapReduce,但对于Shark而言,线程安全比较麻烦;另一方面,由于Shark采用的路径是复用了Hive并进行进化,所以过于依赖Hive的内部关系,并受限于Hive。由此,才有了SparkSQL的诞生。后续Catalyst/Spark SQL有望成为Shark的新引擎。Catalyst/Spark SQL的特点主要包括:向下兼容HiveQL,可以操纵现存的各种Hive数据格式。支持针对原生RDD对象的关系查询;用户既可以选择HiveQL,也可以选择Catalyst提供的精简SQL子集或Scala DSL,从而完全摆脱对Hive的依赖。在执行效率方面,Catalyst内建的查询优化引擎可以对用户编写的HQL/SQL查询进行有效优化,从而有效减轻用户在Spark应用性能调优方面的负担。借力于Scala 2.10新近的反射能力,Catalyst实现了一套可扩展的代码生成框架,可以针对特定逻辑直接生成字节码,进一步提升性能。

  • 14:30在Spark最有优势的应用场景中,图计算应该算是其中之一。淘宝技术部数据挖掘与计算技术专家明风的《基于Spark Graphx的大规模用户图计算和应用》的演讲很接地气。图算法是很多复杂机器学习算法的基础,在单机时代有很多经典的案例,解决了很多问题,尤其是图谱相关的问题,包括关系构建、社区发现、属性传播等等。对于用户群分析和发现,有很重要的作用。在大数据时代,图的规模大到一定程度后,单机就很难解决大规模的图计算。目前比较成熟的方案有Graphx、GraphLab、Giraph,从2012年10月跟踪0.5开始,到2013年0.8再到2014年的0.9,淘宝基于Graphx进行了一些尝试,并解决了生产的问题。Graphx主要接口包括基本信息接口、转换操作、结构操作、联边聚合接口、缓存操作。图计算场景:基于度分布的中枢节点发现,基于最大连通图的社区发现,基于三角形计数的关系衡量和基于随机游走的用户属性传播。以“用户能量模型”为例,明风详细分析了模型设计、模型训练、基于Pregel的随机游走,函数等。值得注意的Graphx使用技巧有几点:循序渐进(使用Sample,逐步增大数据量;从边生成点,再去关联点属性);释放内存(保留旧图的引用,并尽快释放);异常定位(加入带时间点的count,作为调试锚点)等。

  • 14:00对Andy Konwinski而言,上午他是Spark创始团队AMPLab成员,演讲中更多是回顾与展望,下午他则作为集群调度系统Mesos作者,进行了干货分享《Datacenter Management With Mesos》。这很现实,对于数据中心而言,如何处理Hadoop/HDFS和Spark的关系至关重要。毕竟,技术的进步的目标是为了减轻管理压力而非相反。Andy Konwinski分享了数组解决方案,并以Facebook Hadoop Mix的分析数据进行了对比。相关的Hadoop、Spark、Dpark、Storm、Chronos、MPICH2、Aurora、JenkinsPlugin等Frameworks都已经放到github上。eBay Running Jenkins via Marathon on Mesos,且将Marathon开源,细节可以查看eBay的PaaS平台技术文档。

  • 12:30中国移动计费系统出来的研发骨干成立了广州浩微数据服务公司,对运营商的系统极为了解。其CEO邢刚在《Spark在中国移动省公司试点》的演讲中表示:“政府、互联网、运营商和金融是大数据四大行业。对运营商而言,I和E去掉了,但O始终温吞。我们仔细研究了Spark一年,并进行了详细的Spark的可用性测试。如Streaming vs.Storm,Shark vs.Impala vs.Vertica。”并基于Spark,自主研发了ETL,支持批量和实时入口。从实践上看,对流量经营系统,用Spark替换MapReduce,提升3-5倍性能。对比实时营销系统,用Streaming替换Storm,采用Scala重新开发。

  • 12:10英特尔亚太研究院大数据技术部资深架构师易岚的演讲方向是《Spark实际应用模式的经验共享》,重点是分享IPDC(互联网)合作中的应用场景和经验。比如,N-Degree Association(两点之间的权重),TopN in each Category(视频网站分析),以及Time Series Analysis(时间分析),主要都是用户行为统计和分析上。在Top N BillBoard(复杂性分析)中,应该避免 HDFS的读写;Hadoop/Hive和Spark/Shark不同,不能生搬硬套;HQL相对复杂,最好用Shark;所有数据不能放到内存中,要有更多考虑。除此以外,还有SimRank等。Benchmark,Workloads,Community,Intel Boost都将是Intel未来的工作。

  • 11:50为了增强Spark应用场景,组委会特别从多位主动申请的讲师中挑选三位进行分享。南京大学计算机系博士生顾荣,他的演讲聚焦在《YAFIM:基于Spark的并行化频繁项集挖掘算法》。Apriori算法是交易记录中找到哪些物品是被一起购买的经典算法,典型案例就是啤酒和尿布。而在平台项集挖掘算法中,最关键是迭代。这其中,Algorithm with Spark(内存和RDDs)很重要。基于Spark RDD model实现的Apriori算法被称为YAFIM,在相关测试后,YAFIM通过数据量增大数倍后,利用内存时间几乎没有增长,补足了在算法方面的一个空间。与MRApriori相比,在不同数据集和输出方面达到了18倍的性能提升。

  • 11:15星环科技联合创始人及CTO孙元浩曾经是Intel亚太研发数据中心软件研发团队经理。正是看中Spark的光明前景,2013年,他创立了星环科技,推出了国内首个基于Spark的大数据平台产品,并在中国成功建立数个Spark成功案例。他认为,Spark的架构设计非常优美,RDD和操作原语的抽象,很像早年为多核或GPU设计的并行架构,如CUDA。Spark是理想的M/R计算引擎。尤其在通过PL/SQL进行交互式数据统计和分析,充分利用内存或SSD(SSD作为缓存层,仅仅比内存要慢30%左右,但数量增大很多,且成本更低,做数据挖掘方面很有优势)。在题为《Transwarp Inceptor:基于Spark引擎的高速内存分析和挖掘工具》的演讲中,他详细介绍Transwarp Inceptor,并举例分析。“与MPP运营商经分中的对比,在10台两路服务器,128GB内存,按照不同纬度进行聚合统计时,11.4亿条记录数,原始数据502GB,压缩后300GB,技术时间是9.7秒,几乎是对手的1.5-10倍。”R in Inceptor则很容易帮助分析师实现通过R语言对底层数据的分析操作。

  • 10:45目前DRAM、HDD、NAND、SSD的发展都非常迅速,SanDisk副总裁,资深院士John Busch在杭州呆了很长时间(中兴项目),相对流利的中国话震翻全场,他自称“真正中国迷”。SanDisk在闪存市场被称为王者。以往Spark的技术讨论更多集中在软件层,硬件较少涉及,但如同SanDisk的加入,使得Spark System Architecture更加完整。《Spark在闪存中的优化》的演讲着重对于存储市场的分析以及SST(SanDisk Spark Technology)等技术的介绍和性能比较。Busch总结说闪存技术有望在云计算领域减小TCO,但未经优化的闪存方案并不能带来太大的效果,SST-Spark闪存优化方案可达到3倍性能优化。

  • 10:00作为Scala爱好者,皮皮网数据平台经理陈超天然对使用Scala写的Spark极有好感,再加上MapReduce做一些机器学习方面的工作时运行效率低下,代码写起来比较冗长,Spark尤其是在需要多次迭代计算的算法时,优势极为明显。在《Spark内核探索与性能优化》的演讲中,陈超着重分享了Spark性能相关的话题,并分享了他在工作中的“宝贵”实践经验。比如:Group ByKey:not combine locally;reduce ByKey:combine locally;以及val level=MEMORY-AND-DISK。陈超直白地指出,Spark官方文档对数据统计方面有1个明显错误(已经提交),以及其他错误。干货满满。

  • 9:15Spark创始团队AMPLab成员,Andy Konwinski万里迢迢来到#Spark峰会#,作为集群调度系统Mesos作者,并是获得Andreessen Horowitz 1400万美元投资的Databricks公司的联合创始人,美国Spark Summit组织者。他的演讲主题是《The Spark Project Today and What's Next》。遥想2009年开始研发,2010年开源,2013年成为顶级项目,短短几年时间内,Spark成长为30个企业,175个contributers的富有强大生命力的社区。2012年12月Spark0.6中有17位contributers;2013年2月,Spark0.7中,31位contributers;2013年9月,Spark0.8中67位contributers;2014年2月,Spark0.9中有93位contributers。Andy Konwinski提到:Cloudera、MapR、Yahoo!及Intel等企业在其中的贡献很大。去年12月2日-3日,美国旧金山举行的第一届Spark峰会,大约180个不同机构的近500位技术专家。今天“2014 中国Spark技术峰会”也有数十家科研机构与企业,数百位一线技术工程师齐聚北京的盛况,Andy Konwinski认为,Spark显然已经从一个学术研究项目成长了起来,走入了广泛的企业级应用场景。Spark 1.0 release优势是Spark SQL,支持Java 8,Web UI Persistence ,MLlib improvements。而下一步是SparkR:R API和library。代码量对比:Hadoop(MapReduce)120000,storm 60000+,impala 80000+,Girahp 60000+,spark,20000-40000之间。

  • 9:00CSDN&《程序员》总编刘江的致辞一如既往的给力。他说:“这是CSDN技术纯度最高的会。2013年4月26日,我们第一次深入报道了Spark——《Spark核心开发者:性能超Hadoop百倍,算法实现仅有其1/10或1/100》。采访了Shark的作者,也是Spark的核心成员,来自中国的博士生Reynold Xin。而后Spark迅速发展起来,一年多的时间,Spark已经在诸多场景中实践。今天数十家企业,几乎1/3是外地的朋友,涵盖银行、电信、互联网诸多行业在内,这是非常蓬勃的发展趋势。CSDN所举办的Spark大会,将在不久后直接转化成Spark社区(http://spark.csdn.net/),今天所有参加大会的朋友都将直接成为Spark社区的成员,携手构建Spark技术群组。

  • 8:55CSDN云计算的老朋友,风度翩翩的Apache Spark Committer,英特尔亚太研发有限公司大数据部门构架师夏俊鸾是本场的特邀主持人。他曾在以前的演讲中提到,Spark从一开始就要无缝的融入了大数据生态系统。因为大数据的处理框架,一般分为四层,最下面一层,是Cluster资源调度层,比如说有Mesos,或者是Yarn,再上面一层是有HDFS分布式存储层,而Spark是跟Map Reduce并行的一个层次,可以无缝的融入HDFS,Yarn能够支持Spark,所以说在目前的国内或者国外的Cluster里面,只要有Yarn,或者有HDFS,就能无缝的把Spark接入其中。

  • 8:45不愧是程序员的盛会,大会开始前还在争分夺秒敲代码~

  • 9:00即将开幕“2014中国Spark技术峰会”(Spark Summit China)在北京隆重召开,近100家科研机构与实践企业,200余位一线技术工程师齐聚一堂,共同讨论生产环境中使用Spark及相关项目的第一手经验和最佳实践方案。

@CSDN新浪微博

CSDN Spark技术交流群

大会嘉宾

Apache Spark Committer 夏俊鸾
CSDN暨《程序员》总编 刘江
Spark创始团队AMPLab成员 Andy Konwinski
皮皮网数据平台经理 陈超
SanDisk副总裁,资深院士 John Busch
星环科技联合创始人及CTO 孙元浩
南京大学计算机系博士生 顾荣
英特尔亚太研究院资深架构师 易岚
广州浩微数据服务公司CEO 邢刚
淘宝技术部数据挖掘与计算技术专家 明风
Spark Contributor 连城
网易大数据高级研究员 王健宗
Intel工程师 尹绪森
腾讯精准推荐中心广告推荐负责人 薛伟
圆桌论坛与观众互动