设为首页 加入收藏

TOP

【Spark】Spark2.x版的新特性
2019-03-15 01:05:23 】 浏览:103
Tags:Spark Spark2.x 特性
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xin93/article/details/80697004

一、API

1. 出现新的上下文接口:SparkSession,统一了SQLContext和HiveContext,并且为SparkSession开发了新的流式调用的configuration API

2.统一了DataFrame和DataSet。DataFrame相当于DataSet[Row],以及DataSet的增强聚合API

3. 增强了累加器accumulator的功能,支持Web UI,便捷的API,性能更高

二、SQL

1. 支持SQL2003标准

2. 支持ansi-sql 和hive ql的sql parser(SQL解析器)

3. 支持DDL,支持子查询(in/not in 、 exists/ not exists)

三、性能

1. 通过whole-stage-code generation(全流程代码生成)技术将SparkSQL和DataSet的性能提升了2~10倍。(在下一篇博文中会浅谈全流程代码生成技术)

2. 通过vectorization(向量化)技术提升parquet文件的扫描吞吐量

3. 提升orc文件的读写性能

4. 提升catalyst查询优化器的性能

5. 通过native实现方式提升窗口函数的性能

四、 Spark Streaming

1. Structured Streaming在Spark2.0中是测试版,2.0之后是released版,它基于SparkSQL和Catalyst引擎构建,支持DataFrame风格的API进行流式计算。

2. 基于DStream的API支持kafka0.10版本

五、Spark MLlib

1. 基于DataFrame的API支持持久化保存、加载模型、Pipeline,支持更多的算法,支持向量和矩阵使用性能更高的序列化机制。

2. Spark R支持MLlib算法,包括线性回归、朴素贝叶斯等

3. 未来Spark MLlib将主要基于DataSet API来实现,基于RDD和API将转为维护阶段

六、Other

1. 支持csv文件

2. 支持hive风格的bucket表

3. 支持缓存和程序运行的堆外内存管理

4. 完全移除了对akka的依赖

5. 使用Scala2.11代替了Scala2.10,要求基于Scala2.11版本进行开发,而不是Scala2.10

6. Mesos粗粒度模式下,支持启动多个Executor


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【备忘】年薪50万2018年最新Spark.. 下一篇Spark编程指南(三)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目