Spark1.0.0新特性
A:新增的组件Spark SQL
- Spark1.0.0引入了Spark SQL作为一个新的alpha项目。Spark SQL提供了装载和操作结构化数据,这些结构化数据能够来自外部结构化数据源,如hive、Parquet File,也能够来自通过架构化的RDD。
- Spark SQL的API能够和RDD数据模型进行互操作,使用户能够交错使用Spark代码与SQL语句。
- Spark SQL使用Catalyst优化器来选择一个高效的运行计划,并能自己主动将断言保存到类似Parquet之类的存储格式中。在未来的版本号中,Spark SQL也将提供一个通用的API,以支持其它存储系统。
B:Spark Steaming
- Spark1.0.0 Streaming针对状态流转换方面进行了性能优化,改进了对Flume支持,以及添加了长时间执行任务的状态进行自己主动清理。
C:MLlib
- Spark1.0.0 MLlib添加了Scala,Java和Python的稀疏特征向量支持,其利用了线性方法,K-means和朴素贝叶斯在存储和计算上稀疏性优势。
- 此外,添加了一些新的算法,如可扩展的决策树进行分类和回归,矩阵算法的分布式实现(包含SVD和PCA),模型评估函数以及和L-BFGS算法。
D:GraphX
- Spark1.0.0 GraphX??带来了图形负载,边缘逆转,和邻里计算方面性能的显著提升,由于这些操作如今须要更少的通信要求,产生RDD图更简单。
A:更加稳定的API
- 对于非alpha版本号的项目API会更稳定,并且会在1.X产品线上兼容下去。
- 在源码上加以@DeveloperApi标注的API是指不稳定的内部API;以@Experimental标注的API是指面向用户的API,它以后可能稳定。
B:JAVA8的支持
- Spark1.0.0添加了对Java8 lambda语法的支持, Java 8支持使用简洁的语法编写匿名函数,类似于在Scala和Python的闭包语法。这些变化在使用现有Java API时作一些微小的改变,详细能够參考文档。如:
class Split extends FlatMapFunction<String, String> {public Iterable<String> call(String s) {return Arrays.asList(s.split(" "));});JavaRDD<String> words = lines.flatMap(new Split());使用Java 8的话:
JavaRDD<String> words = lines.flatMap(s -> Arrays.asList(s.split(" ")));
C:增强的Python
- Spark1.0.0对Python API进行了扩展,以支持一些新的功能,也对Python API稳定性方面作了一些改进,特别是对于大型数据集。
D:使用spark-submit之后不再须要在代码中指定masterconf = new SparkConf().setAppName(“My App”)sc = new SparkContext(conf)
A:应用提交工具spark-submit
- Spark1.0.0简化了应用程序的提交方式,通过一个统一的提交工具spark-submit,用户能够将应用程序提交给Spark集群,如Standalone、YARN、Mesos,也能够指定是以client方式执行还是cluster方式执行。详细使用參见Spark1.0.0
应用程序部署工具spark-submit/bin/spark-submit \--class <main-class>--master <master-url> \--deploy-mode <deploy-mode> \... # other options<application-jar> \[application-arguments]
B:JobServerSpark1.0.0提供了JobServer对任务进行调度。以后写专题博客进行讨论。
C:支持YARN安全机制
- 现有的Hadoop版本号已经有了自己的安全机制,在YARN中执行应用的时候,Spark1.0.0支持YARN的安全机制。
- 在YARN环境中支持Kerberos authentication:
spark.authenticate = true
- 在UI上支持ACL:
spark.ui.acls.enable = truespark.ui.view.acls = user1, user2
D:UI监控的增强
- 能够在UI监控中取消job
- 显示shuffle时的GC信息
E:History Server
- 通过配置能够查看已完毕job的历史记录
spark.eventLog.enabled=truespark.eventLog.dir=hdfs://XX
- 在Standalone模式下,History Server内嵌在master上;在YARN/Mesos模式下,能够守护模式执行History Server。
F:PySpark如今支持在YARN上执行。
A:编程指南描叙的更具体,涵盖全部支持的语言,很多其它地讨论开发生命周期的各种操作。B:MLlib指南中每种算法添加了很多其它细节和样例。C:配置指南中对YARN和Mesos的配置说明进行了改进。
A:使用DISK_ONLY进行数据集持久化时直接写入磁盘, 对于大数据集会显著提高内存的利用率。B:新SparkContext.wholeTextFiles方法能够让小文本文件作为单个记录进行操作。。。。
Spark1.0.0新特性的更多相关文章
- php5.3到php7.0.x新特性介绍
<?php /*php5.3*/ echo '<hr>'; const MYTT = 'aaa'; #print_r(get_defined_constants()); /* 5.4 ...
- paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较
paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较 PHP5的新特性 2 · 对象的参照过渡是默认的(default) 3 · 引入访问属性的限制 3 · 引入访问方法的限 ...
- NodeJS 框架 Express 从 3.0升级至4.0的新特性
NodeJS 框架 Express 从 3.0升级至4.0的新特性 [原文地址:√https://scotch.io/bar-talk/expressjs-4-0-new-features-and-u ...
- 相比于python2.6,python3.0的新特性。
这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...
- MySQL 8.0 InnoDB新特性
MySQL 8.0 InnoDB新特性 1.数据字典全部采用InnoDB引擎存储,支持DDL原子性.crash safe,metadata管理更完善 2.快速在线加新列(腾讯互娱DBA团队贡献) 3. ...
- Atitit jquery 1.4--v1.11 v1.12 v2.0 3.0 的新特性
Atitit jquery 1.4--v1.11 v1.12 v2.0 3.0 的新特性 1.1. Jquery1.12 jQuery 2.2 和 1.12 新版本发布 - OPEN资讯.h ...
- [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性
从PHP 5.6.x 移植到 PHP 7.0.x 新特性: 1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array ...
- servlet3.0 的新特性之二注解代替了web.xml配置文件
servlet3.0 的新特性: 注解代替了 web.xml 文件 支持了对异步的处理 对上传文件的支持 1.注解代替了配置文件 1.删除了web.xml 文件 2. 在Servlet类上添加@Web ...
- C# 6.0/7.0 的新特性
转眼C#语言都已经迭代到7.0版本了,很多小伙伴都已经把C# 7.0 的新特性应用到代码中了,想想自己连6.0的新特性都还很少使用,今天特意搜集了一下6.0和7.0的一些新特性,记录一下,方便查阅. ...
- C#6.0的新特性之内插字符串
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/interpolated-strings C# 6 ...
随机推荐
- 264分析两大利器:264VISA和Elecard StreamEye Tools
学了264有将近3个月有余,好多时候都在学习老毕的书和反复看JM86的代码,最近才找到264分析两大利器:264VISA和Elecard StreamEye Tools.不由得感叹,恨不逢同时. 简单 ...
- 众神看过来:IE11下鼠标中键(滚轮)导致的一个似乎无法解决的问题?!
最近在做asp.net mvc项目时遇到一个关于超链接的问题.很是纠结. 问题描述 有一个公司列表展示页.在用鼠标中键(注意了是滚轮)以下简称中键,点击编辑(超链接)的时候在该条数据的下面直接加在一个 ...
- ORACLE之手动注册监听listener。alter system set local_listener="XXX"
记录下刚刚做的一个为一个数据库(t02)配置多个监听(listener)的实验,过程有点小曲折. (1)新增两个测试的监听,listener.ora的配置内容(可纯手动编辑该文件或使用netca)如下 ...
- Andorid-Fragment生命周期
官网帮助文档链接: http://developer.android.com/guide/components/fragments.html Fragment的生命周期: Fragment与Activ ...
- WAPI
中国制定的WLAN安全标准WAPI 针对WLAN安全问题,中国制定了自己的WLAN安全标准:WAPI. 与其他无线局域网安全机制(如802.11i)相比,WAPI主要的差别体现在以下几个方面: • 双 ...
- rpm 命令参数使用详解
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两 ...
- linux 安装jdk 配置tomcat
Linux(ubuntu)下安装JDK.Tomcat 一.安装jdk 1)首先以root用户登录进去,在根目录下建立/usr/java的目录,我们将下载的东西都放到该目录下去. 2)参考的https: ...
- 详解Asp.net MVC DropDownLists
Asp.net MVC中的DropDownLists貌似会让一开始从Asp.net Forms转过来的程序员造成不少迷惑.这篇文章讲述了为了使用DropDownLists,你需要在Asp.Net MV ...
- 全栈工程师眼中的HTTP
HTTP,是Web工程师每天打交道最多的一个基本协议.很多工作流程.性能优化都围绕HTTP协议来进行,但是我们对HTTP的理解是否全面呢?如果前端工程师和后台工程师坐在一起玩捉鬼游戏,他们对HTTP的 ...
- NGUI的UIProgressBar使用裁剪方式而不是压缩方式的方法
UIProgressBar默认的方式是压缩图片,而如果我们需要裁减图片,只需要将UIProgressBar的Foreground的UISprite的Type改为Filled就行了. 好几个“的”... ...