Spark 1.0.0版本发布

前言

今天Spark终于跨出了里程碑的一步,1.0.0版本的发布标志着Spark已经进入1.0时代。1.0.0版本不仅加入了很多新特性,并且提供了更好的API支持。Spark SQL作为一个新的组件加入,支持在Spark上存储和操作结构化的数据。已有的标准库比如ML、Streaming和GraphX也得到了很大程度上的增强,对Spark和Python的接口也变得更稳定。以下是几个主要的改进点:

融合YARN的安全机制

Hadoop有着自己的安全机制,包括认证和授权。Spark现在可以和Hadoop/YARN的安全模型并存,也就是说Spark可以对任务提交(job submission)进行认证,能够使用HDFS的认证机制进行数据的安全传输,各组件之间也增加了互相认证。

改善了任务提交的流程

这个版本在很大程度上增强了Spark应用的提交。Spark启用新的任务提交工具spark-submit tool以便能够通过一个普通进程向任一Spark集群提交应用程序。Spark的UI界面中也增加了历史任务的记录,方便了用户查看已经结束了任务运行情况。

Spark SQL的加入

Spark SQL作为一个新组建加入到1.0.0版本中,它能够利用Spark进行结构化数据的存储和操作,结构化数据既可以赖在外部结构化数据源(当前支持Hive和Parquet),也可以通过向已有RDD增加schema的方式得到。

Spark SQL提供了方便的调用接口,用户可以通过SQL语句来与Spark代码交互。当前Spark SQL使用Catalyst优化器来对SQL语句进行优化从而得到更有效的执行方案,并且可以将结果存储到Parquet格式中,在将来Spark SQL还会兼容其他的存储系统。

MLib的改进

这个版本的MLib增加了对Scala、Java、Python中稀疏特征向量的支持,其主要利用了线性方法、k-means和朴素贝叶斯在存储和计算上的稀疏性。1.0.0的MLib还增加了几个新的算法,包括为分类和回归增加了可扩展的决策树、矩阵算法的分布式实现(包括SVD和PCA)、模型评估函数以及L-BFGS算法。 

GraphX和Streaming的改进

GraphX在图加载、边反转和邻接计算方面对通信的要求更低,产生的RDD图更简单,从而在性能方面得到了很大提升。

Spark Streaming提供了对Flume的支持,在状态流转换方面进行了许多优化,并且能够对长时间运行任务的状态进行自动清理。

 

另外,Spark还对调用接口提供了更好的支持,包括对Java 1.8的支持,对Python更多版本的兼容,使用对外内存进行RDD的cache,对小文件的更好支持等。

后记

很荣幸从0.7.3版本就开始熟悉、使用Spark,也很开心自己介入了Spark开源项目的贡献,1.0.0的release note中已经有了自己的身影。虽然做了只是很小的贡献,但是还是感到一点点的满足感,未来会继续关注开源社区。

最近会增强对Spark的使用,并开始从架构上源码级别的分析Spark。

 

参考:http://spark.apache.org/releases/spark-release-1-0-0.html

声明:

本文为原创,禁止用于任何商业用途,转载请注明出处:http://blog.csdn.net/asongoficeandfire/article/details/27725401

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值