Spark是Hadoop生态中新的处理引擎和分析引擎

更新时间:2014-12-22 09:59:26 点击次数:2539次

摘要:在“基于Spark软件栈的下一代大数据分析”演讲之后,我们采访了英特尔大数据首席架构师戴金权。深入了解了Spark应用场景、技术制约和未来发展方向,解读了“Spark是Hadoop生态中下一代处理引擎和分析引擎”的原因。


2014中国大数据技术大会上,英特尔大数据首席架构师戴金权发表了题为《基于Spark软件栈的下一代大数据分析》的演讲,涵盖Reliability of Spark Streaming、SQL processing on Spark、Spark Stream-SQL、Tachyon hierarchical storage和Analytics&SparkR等多方面内容。对于关注Spark技术的与会者而言,极有价值。为进一步解析“Spark是Hadoop生态中下一代的处理引擎和分析引擎”这一鲜明的观点,CSDN云计算特别采访了这位Apache Spark PMC成员,拥有多项美国专利的技术专家。 


英特尔大数据首席架构师 戴金权


在戴金权看来,Hadoop将MapReduce分布式计算和大数据技术带入主流应用。但随着大数据需求和使用模式的推广,Hadoop已经暴露诸多局限性。特别是越来越多的数据应用,如需要对数据进行准实时的深度挖掘和分析时,业内需要超越MapReduce的全新大数据分析模式。也正是看准了Spark的发展趋势,英特尔早在2-3年前就已经和UC Berkeley一起紧密合作,围绕Apache Spark做出大量贡献。


相比MapReduce,Spark在这些需求中极有优势:


对不同来源、不间断输入数据进行准实时的流式处理;

对海量数据,使用大规模、复杂的机器学习和图计算,进行深度挖掘和分析;

使用分布式高速内存数据缓存,以支持交互式、迭代计算和数据分析。


但要明确的是,Spark虽然有诸多优势,但也有不足。如企业使用内存处理成本较高,且Spark在使用SQL查询数据的时候效果并不十分理想。谈到这些,戴金权表示:“Spark确实能够高效利用内存进行不管是实时,还是复杂性分析。但有两方面要强调下,一是Spark不只是在内存中进行,考虑到成本等原因,可以将内存做高效缓存,并由底层的多种存储介质来实现,如内存、SSD、其他存储系统等,这样作为整体实现管理,不论是可靠性还是性能都更出色,我们已经在这方面做了大量工作。二是SQL是分析和处理的一个重要场景,所以社区中,包含Cloudera、Intel、 MapR、Databricks、IBM等都在做这方面的工作,预计Hive on Spark 社区Beta版在2015年上半年会发布,Spark SQL也在Spark中提供了原生的SQL支持;相信这些工作能更好地提供Spark对SQL的查询,让SQL处理可以用到Spark各种各样的优势。”


值得注意的是,作为大数据领域的两项新技术,Spark和R的结合。今年8月,Rexer Analytics咨询公司调查显示,70%的调查对象称他们正在使用R语言。而数据显示,从2010年开始到2013年,使用R的人群是陡然剧增的。但R也有不得不面对的挑战。如R分散于各节点或各服务器,各节点或各服务器单独运行,尽管有利于行的独立分析处理,例如模型评分,但并不利于分析功能所需要的所有数据,例如模型搭建等。要突破开源R语言的限制,SparkR需要做的更多。 


对于这个问题,戴金权非常坦率:“R在大数据中进行复杂分析,尤其是数学模型时,提供了极好编程环境,非常重要。这也是英特尔和UC Berkeley在这方面合作的原因。但SparkR确实是处于早期的一个项目,在如突破单机性能走入分布式环境、如何实现和Spark内部的分析组件的结合,怎么能帮用户更高效用R来实现分布式分析等方面,还需要探索。目前,社区中已有比较多的应用研究,但在工业应用中还很少,这也是我们合作的重点。”


是的,Spark在今年早些时候刚成为Apache的顶级项目,而2-3年前,其还是英特尔和UC Berkeley合作的一个研究项目。Spark的发展时间相比其他项目确实比较短。但业内对其关注和使用的增长速度都非常快。在Apache社区活跃度甚至可以排名。而生产环境需要时间,戴金权认为:“从大家觉得它好,到试用,然后生产上线,再到大规模推广,这肯定是一个过程。已经有非常多的人把Spark应用在生产的环境当中,然后再慢慢把它推广。随着Spark对更多功能的支持,如SQL的支持、R的支持、机器学习的支持,相信其应用场景会越来越广泛。”


事实上,Spark的参与者已经越来越多。英特尔也在和众多的开源社区和行业合作伙伴如Cloudera、Databricks、UC Berkeley、华为等在Spark方面紧密合作。从另一个层面来说,英特尔在底层基础设施和平台级别也在做大量工作,帮助更多伙伴提供适合用户需求的方案。


Hadoop已经成为大数据工业级的标准,有很多组件,如Hive、Hbase、HDFS等。而Spark也是Hadoop生态系统中非常重要的组成部分。戴金权对其的定义是“Hadoop生态中下一代分析的引擎或者数据处理的引擎”。当然,这也是业内的共识。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!