Spark技术内幕:深入解析Spark内核架构设计与实现原理

张安站
序 Apache Spark项目的高速发展超出了很多人的预期。在2009年到2013年,Spark还是UC Berkeley大学AMPLab的一个研究项目,因为其架构设计得简洁和高效,逐渐吸引了工业界和学术界的广泛关注。我还记得2013年2月份在Santa Clara召开的Strata Conference上,虽然是长达一整天的Spark技术培训,大厅里还是人满为患,大家都在认真学习这种新的计算框架,并被其高速的性能所折服。尽管在随后的一年半时间内,主流的Hadoop厂商并没有接受这个新框架:Cloudera在忙着开发自己的Impala引擎,Hortonworks经过评估后认为可以改造Map/Reduce来实现类似Spark的DAG机制,也就是后来的Tez,而MapR还在纠结是否要全力投入Drill项目。但在2014年的夏天,第二次Spark Summit召开时,已经在Spark上积累大量开发者和用户,从互联网到传统行业,甚至是生物神经学家都用Spark来分析脑活动的数据。在这次会议上,大部分的Hadoop厂商以及应用开发商开始接受Spark,并宣布支持Spark作为Hadoop上的另一个计算引擎。自此以后,Spark的被接受程度飞速提高。到2014年10月份,几乎所有的大数据厂商都宣布支持Spark,Spark作者们创办的DataBricks公司也宣布认证了50多个以Spark为基础的应用系统。而到了2015年,大家在谈论的是Spark即将全面替代Hadoop中的Map/Reduce。 星环科技从2013年创业的第一天,就开始改造Spark引擎来开发批处理和交互式分析引擎。今天在星环的全系列产品中,已经几乎看不到Map/Reduce计算框架。星环科技已经证明了在所有Map/Reduce擅长的领域,Spark计算引擎都可以更高效地执行,性能可以提升数倍到数十倍,并且可以7…