Apache软件基金会正式宣布Spark的首个生产发行版本已经准备就绪,这款分析软件能够大大加快作业在Hadoop数据处理平台上的运行速度。
作为拥有“Hadoop瑞士军刀”美誉的软件项目,Apache Spark能够帮助用户创建出性能卓越的数据分析作业,其运行速度相较原本运行在标准Apache Hadoop MapReduce上的水平能够高出上百倍。
取代Mapreduce
目前业界对于MapReduce持广泛批评态度,认为它在执行作业时采取的批处理方式属于Hadoop集群中的性能瓶颈所在——这同时意味着实时数据分析机制根本无法实现。
Spark的出现为MapReduce提供了一套理想的替代方案,它以五秒或者更短时间为周期、通过微批量爆发方式执行处理作业。它还提供比Twitter Storm等实时、面向流的Hadoop框架更为出色的稳定性表现。
Cloudera宣布抛弃MapReduce,拥抱Spark
2014年4月25日,Cloudera正式宣布抛弃MapReduce,投入Spark的怀抱。
51CTO为此专访了前Intel研究院,现Databricks研究员连城。连城老师表示,理论已经证明MapReduce模型可以模拟一切分布式计算(但未必可以高效模拟)。Spark基于RDD的计算图可以轻松、完整地表达MapReduce模型,而且由于对分布式数据共享做了更高效的抽象,其效率比MapReduce只高不低。更多内容请阅读专访原文>>
Spark可以被用于处理多种作业类型,其中包括实时数据分析、配合软件库实现更深层次的计算作业——例如机器学习与图形处理。
利用Spark,开发人员可以通过Java、Scala或者Python等语言进行数据分析作业编写,并使用超过80种高级运算符。
Spark 1.0带来的变革
在1.0版本当中,Apache Spark目前能够提供稳定的API(即应用程序编程接口),开发人员可以利用它将自己的应用程序与Spark相对接。
Spark 1.0版本中的另一项新特性是提供用于访问结构化数据的Spark SQL组件,它允许用户在分析工作中同时对结构化与非结构化数据进行查询。
Apache Spark与Hadoop的分布式文件系统(简称HDFS)全面兼容,同时还能够与其它Hadoop组件——包括YARN(全称为Yet Another Resource Negotiator)以及HBase分布式数据库——并行协作。
什么是Spark
Spark最初是由加利福尼亚大学伯克利分院的AMP(即算法、机器与人)实验室开发而成的,Apache则于2013年6月将其纳入了孵化器培养项目。目前包括Cloudera、Pivotal、IBM、英特尔以及MapR在内的多家IT厂商都已经将Spark引入自己的Hadoop堆栈。作为一家由部分Spark开发人员建立起来的公司,Databricks专门负责为该软件提供商业支持服务。
除了前面提到的企业,雅虎与美国宇航局还利用该软件执行日常数据操作任务。
与其它所有Apache软件一样,Apache Spark同样基于Apache License 2.0版本。
原文链接:
http://www.itworld.com/420977/apache-lights-fire-under-hadoop-spark
【延伸阅读】
2014年WOT全球软件技术峰会上,将会专门安排Spark实时计算专场。来自INTEL、阿里的Spark技术专家将为大家带来分享。有兴趣的同学,可以扫描51CTO官方微信参与抢票活动。