文章讲的是Spark连续重大更新 热度急增,由于移动互联网数据量庞大且类型多样的特性,分布式计算在这一领域极受欢迎。Hadoop无疑是大数据开源环境下的王者,而本文的主角Spark和Storm与其一起并列为最主流的三大分布式计算系统。今年1月初,大数据处理技术Spark刚刚更新了1.6版本,近日又爆出,Spark下一个重大版本——2.0预计在今年4、5月释出。
Spark相关背景
Spark由加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)所开发,可用来构建大型的、低延迟的数据分析应用程序。Spark的创建原因是为了支持分布式数据集上的迭代作业,它是与Hadoop相似的开源集群计算环境。但与Hadoop不同,Spark在工作负载方面比Hadoop表现更加优越,Spark启用了内存分布数据集,所以,除了能够提供交互式查询外,它能够优化迭代工作负载。
Spark在Scala语言中实现,它将Scala用作其应用程序框架。Spark和Scala能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。
Spark此次更新内容
近日,Spark创办人、Databricks技术长Matei Zaharia,在2016 Spark Summit上揭露了Spark 2.0的3大主要特色:
- 能大幅提升Spark平台效能的Project Tungsten即将进入第二阶段(Spark 1.5是Tungsten项目的第一阶段);
- Spark 2.0将提供涵盖完整阶段的程式码产生器;
- Spark 2.0将提供可运行在SQL/Dataframe上的结构化串流即时引擎,并统一化Dataset及DataFrame。
Spark从1.4到1.6版本时,便开始靠Tungsten来优化Spark的资料处理效能,除了加入二进位的储存方式,以及基础的程式码产生器,也增加了用来描述RDD结构的DataFrame格式,以及新的资料集API(Dataset API),让Tungsten可被运行在使用者专案中来提升效能表现。
在1.6版本时,Spark新增了基于DataFrame的扩充元件Dataset API,相较于过去的RDD API,Dataset提供更好的记忆体管理效能,及较佳的长时间执行效能。而Spark2.0版本则将进一步提供涵盖完整阶段的程式码产生器,不仅能移除递迴式呼叫,减少效能损耗,还能进行跨运算子之间的整合,并藉由Parquet及内建快取(Built-in Cache)来优化I/O效能。
预计Spark2.0的效能将翻9倍,从1.6版时每秒可处理的1,400万个栏位,暴增到1亿2,500万,其中的Parquet效能,也将从每秒1,100万提升到每秒9,000万笔。
Spark热度大增,未来一片光明
Google没有开源Google分布式计算模型的技术实现,所以其他互联网公司只能根据Google三篇技术论文中的相关原理,搭建自己的分布式计算系统。2005年,Yahoo工程师Doug Cutting和Mike Cafarella合作开发了分布式计算系统Hadoop,而后,Hadoop成为了Apache基金会的开源项目。Facebook、Amazon以及国内百度、阿里巴巴等众多互联网公司都以Hadoop为基础搭建了自己的分布式计算系统。
Spark也是Apache基金会的开源项目,它由加州大学伯克利分校的实验室开发,是另外一种重要的分布式计算系统。实际上Spark是对Hadoop的补充,它通过第三方集群框架Mesos作为支持,可在Hadoop文件系统中并行运行。Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此Spark可以提供超过Hadoop 100倍的运算速度。近年来,Spark也隐隐有了赶超Hadoop(Map/Reduce)的迹象。
Spark的优势不仅体现在性能提升上,Spark框架为批处理(Spark Core),交互式(Spark SQL),流式(Spark Streaming),机器学习(MLlib),图计算(GraphX)提供一个统一的数据处理平台,这相对于Hadoop(Map/Reduce)有很大优势。
并且,由于Hadoop自身还存在着一些缺陷,例如表达力欠缺、无整体逻辑、时延高等等,所以,网络上Spark会替代Hadoop的呼声不断。而目前看,Spark在各个场合下的应用都优于Hadoop(Map/Reduce)。所以,在新一代的大数据处理平台中,Spark得到了最广泛的认可和支持。
由Spark团队原班人马成立的Databricks公司曾表示,Spark技术在2015年有非常显著的成长,其贡献者在2015年已经超过1000人,是2014年的2倍,参与各地区定期聚会的会员数量也从1万多人暴增至6万多人。
但Hadoop与MR是的初衷是为了使用廉价的、异构的机器来做分布式存储与计算,而Spark却对硬件的要求稍高,对内存/CPU是有较高要求的。若不考虑成本因素,Spark应会一片光明。
不过,Databricks公司联合创始人、Spark首席架构师辛湜曾在2015年底时提到:“Spark在中国市场发展有三个趋势:第一是更多样化的应用,第二是更多样化的环境,第三是更多样化的用户,基本上可以说是Spark的多样性发展。而最后一个稍微前瞻一点,就是对新硬件的支持。”
作者:崔月
来源:IT168
原文链接:Spark连续重大更新 热度急增