您的位置:首页 > 数据库

Spark发布1.2.0 - 支持Netty NIO / SQL增强

2014-12-20 13:57 225 查看

Spark 1.2.0版

Spark 1.2.0是在1.X线的第三个版本。此版本带来了Spark的核心引擎性能和可用性方面的改进,一个重要的MLlib新API,Python的扩展ML支持,一个完全高可用的Spark流模式,等等。GraphX已经看到主要性能和API改进,已经从alpha组件毕业。Spark1.2代表来自60多个机构的172贡献者的1000个补丁的工作。

下载Spark 1.2,访问下载页面。

Spark Core

在Spark 1.2 升级内核两个主要的子系统,以改善超大规模混洗的性能和稳定性。首先是Spark批量传输使用的通信管理器,它升级成了Netty化实现。二是Spark的洗牌机制,升级到最初在Spark1.1发布的“基于排序”洗牌机制。这提高了超大规模洗牌的性能和稳定性。Spark也在长期运行的ETL式的Job中增加了旨在提高联网使用的弹性缩放机制。目前仅在YARN上支持,后续会在未来的版本中支持其他群集管理器。最后,Spark1.2增加了对Scala的2.11支持。有关Scala2.11的介绍,请参阅介绍文档。

Spark Streaming

此版本包括Spark Streaming库两个主要的功能补充,一个PythonAPI,一个写日志之前为完整的H
/ A驱动程序。Python的API涵盖了几乎所有的DSTREAM转换和输出操作。目前支持基于文本文件和通过套接字的文本输入源。将在下一版本中添加Pyth的Kafka和flume的输入流。其次,Spark
Streaming通过写现在拥有H / A驱动程序支持日志(WAL)。在Spark1.1及更早的版本,一些缓冲的(收到但尚未处理),数据可以在驱动程序的重新启动会丢失。为了防止这种情况,Spark1.2增加了一个可选的WAL,该缓冲器接收数据转换成容错的文件系统(例如,HDFS)。

Spark SQL

在此版本中,Spark
SQL增加了对外部数据源的一个新的API。此API支持安装外部数据源的临时表,并支持如谓语下推的与优化。Spark的parquet和JSON绑定已使用这些API重新写入,我们希望各种社区项目,以1.2的生命周期过程中与其他系统和格式集成。

Hive集成固定精度小数型和Hive0.13支持。Spark
SQL还增加了动态分区插入,一个流行的Hive的功能。围绕缓存内部的重新架构提高了性能和缓存SchemaRDD实例的语义,增加了对基于统计的分区修剪的缓存数据的支持。

GraphX

GraphX1.2
从alpha版本毕业了,并增加了一个稳定的API。这意味着,编写GraphX应用程序能够保证未来Spark版本一起使用无需更改代码。一个新的核心API,aggregate
Messages,引入取代现在已经过时的mapReduce Triplet API。新aggregate Messages
API提供一个更迫切的编程模型并提高性能。一些早期测试用户发现,通过切换到新的API性能提升20%
- 1倍。

此外,Spark现在支持图检查点,并血缘截断这是必要的,以支持大量重复的生产岗位。最后,少数的性能改进已经增加了PageRank和图形负载。

已知问题:

一些小Bug没有给出发布窗口。他们将在星Spark1.2.1中修复:

Netty洗牌没有遵从保护的端口配置。解决 - 恢复到NIO洗牌:SPARK-4837

创建外部Hive表时发生java.io.FileNotFound 异常。解决 - 设置hive.stats.autogather=false。 SPARK-4892。

除了PySpark上输入文本文件压缩功能:SPARK-4841

MetricsServlet不正确初始化:SPARK-4595
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: