【Spark】Spark2.x版的新特性
一、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
【Spark】Spark2.x版的新特性的更多相关文章
- 浓缩版java8新特性
目录 一.Lambda 1.定义/设计原因 2.结构 3.规则 4.使用 二.函数式接口 1.定义 2.设计原因 3.使用 三.方法引用 1.定义/设计原因 2.使用 四.接口的默认方法 1.定义 2 ...
- java基础1.5版后新特性 自动装箱拆箱 Date SimpleDateFormat Calendar.getInstance()获得一个日历对象 抽象不要生成对象 get set add System.arrayCopy()用于集合等的扩容
8种基本数据类型的8种包装类 byte Byte short Short int Integer long Long float Float double Double char Character ...
- Apache Spark 1.6公布(新特性介绍)
Apache Spark 1.6公布 CSDN大数据 | 2016-01-06 17:34 今天我们很高兴可以公布Apache Spark 1.6,通过该版本号,Spark在社区开发中达到一个重要的里 ...
- Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性
Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性 Apache hadoop 项目组最新消息,hadoop3.x以后将会调整方案架构,将Mapreduce 基于内存+io+ ...
- Spark各个版本新特性
后续会添加spark生态系统中各个组件的兼容支持情况... Spark2.0.0 * 2016-07-27正式发布 * 它是2.x版本线的上的第一个版本. * 300位contributors的超过2 ...
- TypeScript 2.0候选版(RC)已出,哪些新特性值得我们关注?
注:本文提及到的代码示例下载地址 - Runnable sample to introduce Typescript 2.0 RC new features 作为一个Javascript的超集, Ty ...
- .NET 4.5.1 预览版新特性
上个月的微软Build大会上宣布了.NET 4.5.1的推出,Heydarian的这个演讲题为".NET开发中的新内容",涵盖了.NET Framework中一些重要的新特性. H ...
- Java 8 新特性终极版
声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己 ...
- Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)
目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于Signal ...
随机推荐
- 记录code修改
package com.hesheng.myapplication; import android.content.Context;import android.graphics.Bitmap;imp ...
- Php 性能参数优化 及 Iptables 防火墙限制用户访问平率
Php-Fpm.Conf 文件配置优化 [global] pid = run/php-fpm.pid process_control_timeout=5 [www] listen.allowed_cl ...
- LeetCode--Combination Sum --ZZ
http://blog.csdn.net/linhuanmars/article/details/20828631 这个题是一个NP问题,方法仍然是N-Queens中介绍的套路.基本思路是先排好序,然 ...
- [EffectiveC++]item33:避免遮掩继承而来的名称。
先看看: ZT C++ 重载.覆盖和隐藏的区别 http://www.cnblogs.com/jeanschen/p/3405987.html 隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下: ...
- python功能代码块记录
python Autopep8——按PEP8风格自动排版Python代码(参考链接) autopep8 --in-place --aggressive --aggressive test_autope ...
- Android进阶笔记16:onInterceptTouchEvent、onTouchEvent与onTouch
1. onTouch方法:onTouch方法是View的 OnTouchListener借口中定义的方法,处理View及其子类被touch是的事件处理.当一个View绑定了OnTouchLister后 ...
- Thread-Specific-Storage for C/C++
引用出处:https://www.cse.wustl.edu/~schmidt/PDF/TSS-pattern.pdf 摘要: 理论上多线程会提高程序性能,但实际上,由于在获取和释放锁的开销,多线程经 ...
- 关于PHP数组你应该知道的事情
(1).PHP数组的遍历顺序 先举个栗子: <?php $arr['a'] = '123'; $arr['b'] = '456'; $arr['c'] = '789'; foreach($a a ...
- iPhone 耳机在PC电脑上使用方法
把主声道(Master)从正中间调整到最左或者最右就行了
- 如果js设置移动端有两种方式 大家可以参考
//使用em单位 var scaleObj = { documentEle : document.documentElement, deviceWidth : document.documentEle ...