微信号:infoqchina

介绍:有内容的技术社区媒体

【工具】开源集群计算环境:Spark 1.1.0发布

2014-09-16 10:20 InfoQ

近日,Spark开发团队宣布开源集群计算环境Spark 1.1.0发布,该版本是Spark 1.X系列版本的第二个API兼容版本,它是目前改变最大的一个版本,具有171个开发者。该版本带来了一些操作性和性能的提升,主要体现在核心模块上,扩展了Spark的一些最新模块(MLlib Spark SQL)的功能;该版本开始支持 Python,并为Spark streaming模块增加了新的组件,该版本主要的改进如下:

1、性能和可用性方面的改进

Spark1.1.0在稳定性和性能方面做了大量改进,并为大规模的负载任务提供了新功能。当内存不足时,Spark可以做到将整个缓存块刷新到磁盘中,以防止内存溢出;Spark引入了新的算法的实现,优化了大规模计算,还改进了复杂的、耗时的任务的监控可用性,做到了Accumulator内容可以在SparkWeb页面中显示、任务处理进度的动态更新、读取输入数据的任务进度报告。

2Spark SQL

Spark SQL新增了许多新功能,还进行了许多优化,从而性能也得到了大大的提高。新增的JDBC/ODBC server使得用户能够从很多不同的应用连接到SparkSQL,并且还提供了共享访问缓存的功能;新增了将JSON数据直接加载成SparkSchemaRDD格式的功能模块;新增动态字节码生成的功能,能够显著的加快复杂表达式求值的查询;新增了将PythonJavaScalaJava lambda函数注册为UDF的功能,从而做到在SQL中直接调用;新增了一个公共API使得用户能够使用自定义的数据源创建SchemaRDD

3MLlib

MLlib 新增了很多算法,并对一些旧算法进行了优化,使得它们的性能得到了大大提高。新增一个用作统计功能的功能包,提供了试探性统计功能;新增了特征抽取工具(Word2VecTF-IDF)和特征转换工具(标准化和标准度量);使用Lanczos算法做到了对非负矩阵分解(Non-negative matrix factorization)和可缩放矢量图形(SVG)的支持;添加PythonJava的决策树算法API

4GraphXSpark Streaming

SparkStreaming新增了Amazon Kinesis数据源;新增了一个可以从Apache Flume拉取数据的模式,简化了部署和提高了高可用性;一组基于流的机器学习算法首先引入基于流的线性回归;Spark Streaming做到了接收数据速率的控制;GraphX为图的顶点和边添加了自定义存储级别,并提高了数值计算的精度;GraphX还新增了一个标签传播算法。

5、其他值得关注的改进

PySpark 能够读取和写入任意的Hadoop InputFormats,包括SequenceFiles HBase CassandraAvro以及其他数据源;在SparkUI界面上能够进行阶段性的提交;Spark为所有的网络端口实行严格的防火墙规则 GraphX中的一个溢出Bug得以修复,该Bug影响了超过4亿个顶点的图。

另外,Spark 1.1.0现已提供下载,更多相关信息请查看Release NotesSpark由加州大学伯克利分校 AMP实验室基于Scala开发,可用来构建大型的、低延迟的数据分析应用程序。Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,主要体现在Spark启用了内存分布数据集,使Spark 在某些工作负载方面表现得非常优越。尽管创建 Spark是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop文件系统中并行运行。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 【教程】如何获得支付宝敬业福~ 译文:Swift面试问题及答案-part2 2015 GOOGLE I/O大会看点总结:新产品新工具新计划 四种常见的POST提交数据方式 炎炎夏日做什么,LOL没意思,Android开发很简单!