王家林, Spark亚太研究院院长和***专家,中国目前唯一的移动互联网和云计算大数据集大成者,在Spark、Hadoop、Android等方面有丰富的源码、实务和性能优化经验。彻底研究了Spark从0.5.0到0.9.1共13个版本的Spark源码,并已完成2014年5月31日发布的Spark1.0源码研究。
王院长您好,据我们所知,Spark技术现在已经成为云计算大数据方向的热点技术,在国内的应用也越来越广泛,Spark亚太研究院作为Spark技术在国内的专业研究推广机构,您能否介绍下Spark目前在业界的一个应用情况?
Spark是***一代的大数据处理框架,在数据统计分析、数据挖掘、流处理、图技术、机器学习、误差查询等方面都有自己的技术,从我们的技术研究和长期业界观察来看,Spark会成为大数据时代集大成的计算框架。
Spark技术在国内外的应用开始越来越广泛,它正在逐渐走向成熟,并在这个领域扮演更加重要的角色。国外一些大型互联网公司已经部署了Spark。例如:一直支持Hadoop的四大商业机构(Cloudera、MapR、Hortonworks、EMC)已纷纷宣布支持Spark;Mahout前一阶段也表示,将不再接受任何形式以MapReduce实现的算法,同时还宣布了接受基于Spark新的算法;而Cloudera的机器学习框架Oryx的执行引擎也将由Hadoop的MapReduce替换成Spark;另外,Google也已经开始将负载从MapReduce转移到Pregel和Dremel上;FaceBook也宣布将负载转移到Presto上……而目前,我们国内的淘宝、优酷土豆、网易、Baidu、腾讯等企业也已经使用Spark技术在自己的商业生产系统中。
随着2014年5月30日Spark 1.0.0的发布,Spark已经相对稳定,可以放心使用。
您能否介绍下Spark如何部署到生产环境?
对于Spark该如何部署到生产环境中,Spark是***一代大数据计算框架,使用时需要单独部署集群,Spark集群部署方式主要有三种:Standalone、Yarn、Mesos。一般而言,在部署的时候都会基于HDFS文件存储系统,所以,如果已经有Hadoop平台,部署Spark就非常容易,只需在平台上增加Spark功能即可。目前,国内企业淘宝使用的Spark就是基于Hadoop的yarn。当然也可以采用standalone和zookeeper的方式进行从无到有的构建Spark集群,这也是一种常见和理想的选择,并且这种方式也是官方推荐的。
现在,谈到云计算大数据话题的时候很多人还是多会提到Hadoop,对Spark了解的人还不是很多,如果企业有计划要部署云计算大数据的话,那么如何做技术选型?
我的建议:如果企业以前没有云计算大数据集群,选择使用Spark要比Hadoop更为明智,原因是:首先,Hadoop本身的计算模型决定了它的所有工作都要转化成Map、Shuffle和Reduce等核心阶段,由于每次计算都要从磁盘读或者写数据,而且整个计算模型需要网络传输,这就导致越来越难以忍受的延迟性。其次,Hadoop还不能支持交互式应用。
而Spark可以轻松应对数据统计分析、数据挖掘、流处理、图技术、机器学习、误差查询等,且Spark的“One stack rule them all”的特性也导致部署的简易性,省去多套系统部署的麻烦。
如果技术选型为Spark,那么,解决数据统计分析、实时流计算、数据挖掘基本只需要一个团队即可,而如果采用Hadoop则需要不同团队做处理每一项专门的技术,极大的增加人力成本。
另外,对于已经有Hadoop集群的公司而言,建议尝试使用Spark技术,可以从Spark的Shark或者Spark SQL开始,推荐使用Spark的实时流处理和机器学习技术。
您怎么看待,中型企业的Spark应用?
Spark因其部署的简易性和“One stack to rule them all”的特点,是大数据时代中型企业处理大数据的福音。例如,Yahoo!、淘宝、优酷土豆、网易、腾讯等国内大型知名企业已经在商业生产环境下开始使用Spark技术;Intel、IBM、Linkin、Twwitter等国外大型知名企业也都在大力支持Spark。随着这些国内外大企业的使用,Spark技术的发展必然势不可挡,行业普及很快就会到来,因此对于中型企业的使用和普及,只是时间问题。
中型公司如果要基于Spark进行部署,只需配备约5-20人的团队,即可在Spark上做数据分析统计、机器学习、实施流处理计算等工作。
对于电信、金融等行业,使用Spark同样势不可挡。在数据统计分析方面,Spark比Hadoop快几十倍,如果是使用内存表,Spark更是比Hadoop快100倍以上。同时Spark的实时流处理、机器学习、图计算也非常高效,可以充分满足电信、金融行业数据挖掘的需要。
我个人认为,作为唯一可以革命Hadoop并正在成为大数据计算框架霸主的Spark技术,由于其“One stack to rule them all”的特性(使用一个统一的技术堆栈解决了大数据处理生态系统中的流处理、图技术、机器学习、NoSQL查询等方面的技术问题),在2014年10月左右会在中国的需求有爆发之势,这种需求包含企业使用Spark的需求和Spark人才的迫切需求,同时,这种需求将不限已经使用Spark的Yahoo!、淘宝、腾讯、网易等国内大型企业,还会包含很多中小企业。