Spark1.2新特性概述
Spark1.2 新特性概述
1.2居然真的在12月份发布了,我表示略感意外,我一直以为稍微跳个票要到明年一月初才能发的。这次更新有172个开发者参与,并且有1000多个commits。这真是一个了不起的数字。本次版本给我们带来了很多新特性,并且也有不少的性能优化点。我说几个比较重要的吧。
Spark Core:
1、在传大量数据的情况下,communication manager终于换成netty-based的实现了。之前的实现慢的要死是因为每次都要从磁盘读到内核,再到用户态,再回到内核态进入网卡,现在用zerocopy来实现了。(想起来没,Kafka也是用的这个)。
2、shuffle manager换成sort based了,在shuffle数据比较大的时候,性能会有提升。不过也有不少人认为这个Hadoop的sort是一样的,微博上也有人提出了这一点,本想回复解释时,发现连城已经回复了。其实目前Spark的sort只是按照Partition key排序,Partition内部目前是不排序的,不过就算内部要排序,也是比较容易实现的。而Hadoop是按照每个Partition内的每个KV排序的。
Spark Streaming :
终于“号称”支持fully H/A模式了。以前当driver挂掉的时候,可能会丢失掉一小部分数据。现在加上一层WAL(write ahead log),好多地方都在用这玩意儿,还记得HBase的write path吗?每次写到memstore之前都会写到一个叫HLog的地方,以防止数据丢失。回到这个问题,每次receiver收到数据后都会存在hdfs上,这样即使driver挂掉,当它重启起来后,还是可以接着处理。当然WAL的实现也还是那样子,到driver重启后,要recover data,并且也要clean掉那些过时的数据。
当然,我还要特别提醒下 unreliable receivers和reliable receivers这两个事情,有兴趣的自己去看下什么个情况吧。
MLlib:
这里最重大的改变应该是Pipeline了,很多从事机器学习的朋友肯定会有兴趣的。MLlib的老大祥瑞在北京已经谈过这个了,这里不展开,需要指出的是,目前MLlib是用SchemaRDD来代表数据集的。也就是说,打通了Spark SQL与MLlib间的通道。话说在一起吃饭时我揪着祥瑞谈了一些DataBricks Cloud的事情,没问MLlib的事情,就知道他回来度个假,PR已经急剧增加了。
GraphX:
国内这块用的比较多的要数淘宝明风他们团队了。更多详情,请咨询淘宝技术部,哈哈,开玩笑的。这一版本最引人注意的应该是给出了stable api,这意味着你们不用担心现在写的代码以后还要由于API的变化而改动了。插播广告,下周杭州Spark Meetup,会有GraphX的一个精彩主题。
Spark SQL:
把这块放最后的原因是,Spark SQL真是太火了,所以你们要提PR就赶快提,赶快响应,赶快merge,不然保不准在短时间内就给你来个conflict。这版本最重要的特性毫无疑问应该属于external data source吧,套用连城PPT上的一句话,push predicates to datasource, 什么意思呢,譬如你要从HBase取数据后做一些筛选,一般我们需要把数据从HBase全取出来后在Spark引擎中筛选,现在呢,你可以把这个步骤推到Data Source端,让你在取数据的时候就可以筛选。当然,这块肯定还会有很大的改动。
另一点必须要指出,我以前在很多场合都提醒大家,Spark SQL中缓存表一定要用cacheTable(“tableName”)这种形式,否则无法享受到列式存储带来的一系列好处,但是很多朋友仍然采用rdd.cache这种原生的方式来缓存,社区也意识到这样不行,所以现在无论是cacheTable还是直接cache,都是表达相同的语义,都能享受到列式存储带来的好处。
就写到这里,本版本改动较大,希望大家尽早升级。
Spark1.2新特性概述相关推荐
- Servlet 3.0 新特性概述
Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若 ...
- Java 9 新特性概述
转载自 Java 9 新特性概述 Java 9 正式发布于 2017 年 9 月 21 日 .作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化.其中最重要的改动是 ...
- Java11新特性(一)——JDK11新特性概述
序言 关于JDK11,自从去年也就是2018年9月份 Oracle 对外公布--JDK11正式发布以来,博主就跃跃欲试,但是由于项目周期时间紧,一直未果,今年,也就是2019年2月底系统正式上线,博主 ...
- Java 10 新特性概述
Java 10是其23年历史中最快发布的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这个概念.Java 10是一个具有许多未来变化的版本,其范围和影响可能并不明显, ...
- CSS3 新特性概述
CSS3的新特性大致分为以下六类 1.CSS3选择器 2.CSS3边框与圆角 3.CSS3背景与渐变 4.CSS3过渡 5.CSS3变换 6.CSS3动画 下面分别说一说以上六类都有哪些内容 CSS3 ...
- 一. SQL Server 2008 新特性概述
前几天一直再学习ASP.NET MVC框架.这几天在研究EMC存储和F5交换机都是奢侈品啊,虽然在工作中大多是ORCLE,看到SQL SERVER 2K8有许多新特性决定学习学习,增加自己的市场竞争力 ...
- Spark 1.4新特性概述
经过4个RC版本,Spark 1.4最终还是赶在Spark Summit前发布了,本文简单谈下本版本中那些非常重要的新feature和improvement. 正式引入SparkR Spark 1.4 ...
- Spark1.0新特性--Spark SQL
Spark1.0出来了,变化还是挺大的,文档比以前齐全了,RDD支持的操作比以前多了一些,Spark on yarn功能我居然跑通了.但是最最重要的就是多了一个Spark SQL的功能,它能对RDD进 ...
- Java8新特性概览——Stream特性,Lambda表达式,函数式接口Function、Predicate、Consumer,方法引用等概述
概述: Java 8 新特性概述:https://www.ibm.com/developerworks/cn/java/j-lo-jdk8newfeature/index.html JAVA8 十大新 ...
最新文章
- Flex精华摘要--使用AS脚本
- System.Diagnostics.Process启动Civil 3D及AutoCAD
- 转载:Systemd 命令
- RocketMQ中的Topic和JMS的queue有什么区别?
- linux 查看历史打印,2019-02-01 Linux查看用户/历史命令
- SQL Server--疑难杂症之坑爹的Windows故障转移群集
- Redmi K30 Pro渲染图曝光:升降式前置双摄相机模组亮眼
- 常见30种数学建模模型_11.12|认识数学模型与数学建模许可
- 走迷宫问题 算法竞赛入门经典
- Qt总结之二十二:Qt控件QObject
- php苹果推送消息,php推送消息到IOS
- ios 添加block 类别_ios block是什么数据类型?
- 汉字读音表GB2312版 (共7809个汉字)
- Windows 10 驱动开发 及 驱动签名
- 拓嘉辰丰:影响拼多多直通车推广效果的因素有哪些?
- Number isFinite()方法
- 《沈剑架构师训练营》第3章 - 快速性能优化
- 四川大学软件学院保研预推免面试面经
- .net mvc 利用分部视图局部刷新.
- idea和eclipse哪个更好用?为什么呢?
热门文章
- zookeper安装_ZooKeeper安装和配置
- 计算机二级python选择题知识点,全国计算机等级考试二级Python练习题库-选择题部分.pdf...
- 网上选课系统的php代码,网上选课系统(论文+程序)
- 【小白学习C++ 教程】十、C++中指针和内存分配
- 三、ResNet50预置算法提高美食分类识别精确度
- 六十四、前缀,后缀,中缀表达式转化求值问题
- 十七、深入Java的类
- 天天python爬虫,你不腻的吗?
- java 读 xml_Java读写XML代码示例
- 1秒识别200个假大牌 成本降50% 清华阿里邀全国人才用20张图锻造“打假AI”