此版本包括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