号外:Spark 1.3.0发布了,快来一起飞!,spark1.3.0


Spark 1.3.0 Release Note

Spark 1.3.0在上周五正式发布,真是千呼万唤始出来。本次发布最大的惊喜就是DataFrame。另外一个值得关注的是Spark SQL从Alpha版毕业,我们终于可以欢快地使用Spark SQL了。本次发布还对Spark核心引擎改的可用性进行了改进,并扩展了Spark MLlib及Spark Streaming,详情见下。最后不得不提下,这次发布共接纳了1000多个patch,真是太火爆了

Spark 1.3.0的下载位置在这里。

Spark Core

Spark 1.3.0在核心引擎中引入了很多可用性改进。现在Core API支持多层聚合,有助于加速那些费时的reduce操作。对一些特定操作优化了错误信息。Spark的jetty依赖已经被shade,以避免和用户代码产生冲突。此外,Spark已经支持对Akka和HttpServer的连接进行SSL加密。最后,实时的GC统计信息和记录计数器将会显示在Spark UI中。

DataFrame API

Spark 1.3.0添加了一个新的API,DataFrame,提供了更加强有力和便捷的方式来操作结构化数据。DataFrame发展自基础的RDD API,包含了命名域和schema信息。我们能够很容易地从Hive表,JSON数据,JDBC数据库或者任意其他数据源中创建一个DataFrame。DataFrame将成为Spark各个模块之间以及Spark和其他系统交换数据的通用接口。Data frames支持Python,Scala和Java语言。

Spark SQL

在Spark 1.3.0中,Spark SQL正式从Aplha版毕业,向后兼容HiveQL原语并提供稳定的编程接口。Spark SQL支持在数据源API中写表操作。1.3.0版本还提供了从JDBC读写数据表的能力,原生地支持同MySQL,Postgres及其他关系型数据库的交互能力,对HiveQL也做了大量的改进。最后,Spark SQL支持以兼容方式从Parquet文件中加载数据。

Spark ML/MLlib

Spark 1.3.0引入了一些新的算法:支持主题模型的LDA算法,支持多分类的多项逻辑回归算法,支持混合高斯模型和PIC聚类,支持频繁集挖掘的FP-growth,此外还有Distributed Linear Algebra的块矩阵抽象。初步支持模型输入输出的交换格式,并将在今后的版本中支持更多的格式。K-means算法和ALS算法有了显著的性能提升。PySpark现在也支持ML pipeline API,Gradient Boosted Trees以及混合高斯模型。最后,ML Pipeline API也支持新的DataFrame抽象。

Spark Streaming

Spark 1.3.0引入了一个direct Kafka API(docs),不需要配置WAL就可保证数据的可靠交付,同时实现了Exactly-Once原语保证强一致性。另外Python版的Kafka API也被加了进来。支持online的逻辑回归算法,支持二进制数据的读取。对于那些有状态操作,增加了初始状态RDD的支持。最后Spark Streaming的指导文档已经包含了SQL,DataFrame和容错等相关内容。

GraphX

Spark GraphX增加了很多实用的接口,包括如何将图转换成一个规范边集图

升级到Spark 1.3

Spark 1.3兼容1.X的版本,所以不需要修改任何代码。当然不包括那些被隐含标识为不稳定的API。

作为稳定版Spark SQL API的一部分,SchemaRDD已经被重命名为DataFrame。Spark SQL指引文档已经详细说明了如何去修改你的代码。

待解决Issue

下面这些issue将在Spark 1.3.1中修复

  • SPARK-6194: 解决PySpark collect()接口中的内存泄漏问题。
  • SPARK-6222: 修复Spark Streaming中一个失败恢复问题。
  • SPARK-6315: 解决Spark SQL无法读取Spark 1.1产生的parquet数据问题。
  • SPARK-6247: 解决Spark SQL中分析特定Join类型出错的问题。

附官方正版

相关内容