spark2.0

从网站上搜寻了些关于spark2.0的新特性:
1. DataFrame引入了schema和off-heap
Schema(数据结构信息) : RDD每行的数据,结构都是一样的。这个结构就存储在schema中。Spark通过schema能够读懂数据。因此在通信和IO时就只需序列化和反序列化数据,而结构的部分就可以省略。
Off-heap : 意味着JVM堆以外的内存,这些内存直接受系统管理,而不是JVM。Spark能够以二进制的形式序列化数据(不包括结构)到off-heap中,当要操作数据时,就直接操作off-heap内存。由于spark理解schema,所以知道该如何操作。
2. DataSet结合了RDD与DataFrame的优点,并带来的一个新的概念Encoder。
当序列化数据时, Encoder产生字节码与off-heap进行交互, 能够达到按需访问数据的效果, 而不用反序列化整个对象。
DataFrame被声明为Dataset[Row]。故在 2.0 时将二者统一,保留 Dataset API,把 DataFrame 表示为 Dataset[Row],即 Dataset 的子集。
3. RDD是对象的集合。
4. Spark2.0主要聚焦于两个方面:
(1) 对标准的SQL支持
(2) 统一DataFrame和DataSet API
在编程API方面,对API进行了精简。
1) 统一scala和Java中DataFrame和Dataset的API:从spark2.0开始,DataFrame仅仅是Dataset的一个别名。有类型的方法(typed methods)(比如:map,filter,groupbykey)和无类型的方法(untyped methods)(比如:select,groupby目前在Dataset类上可用。)同样,新的Dataset接口也在Structured Streaming中使用。
2) SparkSession:一个新的切入点,用于替换旧的SQLContext和HiveContext。对于那些使用DataFrame API的用户,其涵盖了SQLContext和HiveContext,仅仅提供一个切入点。
3) 简单以及性能更好的Accumulator API:spark2.0中设计出一种新的Accumulator API,它拥有更加简洁的类型层次,而且支持基本类型。
4) 基于dataframe的machine learning API可以作为主要的ML API了:在spark2.0中,spark.ml包及其pipeline API将会作为主要的机器学习API了。
5) Machine learning pipeline持久化:现在用户可以保存和加载spark支持所有语言的machine learning pipeline 和models。

6) R的分布式算法:在R语言中添加了支持Generalized Linear Models, Naive Bayes, Survival Regression and K-Means。

还有其他一些特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值