第一课:理解Spark 的三代API

Spark第一代API:RDD

RDD: 五大核心特征:

*  - A list of partitions

 *  - A function for computing each split

 *  - A list of dependencies on other RDDs

 *  - Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)

 *  - Optionally, a list of preferred locations to compute each split on (e.g. block locations for

 *    an HDFS file)

 

Spark第二代API:DataFrame

DataFrame: 核心特征:

*  - 包含了以Row为单位的每行数据的列的信息,此时DataFrame就是Table;

 *  - Tungsten:新的执行引擎

* - Catalyst:新的语法解析框架

提升计算效率、减少数据读取、底层计算优化;

 

Spark第三代API:DataSet

DataSet的核心价值和好处:Encoder

*  - 编译时的类型安全检查,不需要在执行时期才发现类型不匹配;

* - 性能的极大的提升

* - 内存使用极大降低、减少GC...

* -极大的减少网络数据的传输...

* -极大的极少采用Scala和Java编程的代码的差异性...

 

 

补充:

  1,DataSet会同时可以兼顾Functional和Relational Programming;

  2,DataSet可以统一流计算、SQL、ML等的API编程;

  3,DataSet最最重要的是效率:底层Tungsten的优化、Encoder、数据在内存和磁盘等的存储等等;

 

转载于:https://my.oschina.net/u/1449867/blog/719774

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值