首页 > 其他 > 详细

RDD学习

时间:2020-07-01 19:33:51      阅读:51      评论:0      收藏:0      [点我收藏+]

首先介绍一下RDD.

RDD是spark中最基础的逻辑抽象,代码中是一个抽象类。它代表不可变,可分区,里面的元素可并行计算的集合。

不可变代表RDD作为计算逻辑的一部分,绝对不允许被修改。

可分区代表,RDD作为承载数据流的类型,必须要在大数据时代实现并行处理的前提条件---分区。

里面的元素可并行计算代表的是分区数据可以发给不同的executor,这样可以实现并行处理。

RDD作为一个抽象类,有一些属性。

a list of partions 就是分区的意思。

a function for computing each split 就是为了确定将数据分给那个分区。

a list of dependencies on other RDD,依赖关系,这里面可以参考java io流,RDD和它比较相似。为了读取一个文件,需要进行多种inputstream的包装。

a partitioner for key-value RDDs.  就是一系列的分区。

a list of prefered location to compute each split  对于每个分区中的数据最好放到哪个计算单元上,一般是最近原则。因为这样数据传输速度效率高呀!

 

接下来是算子的概念,其实算子就是函数。操作RDD的函数。有些是将RDD转换为其他的rdd的转换算子,一些是进行处理操作的行动算子。

RDD有三种创建方式。从集合中创建,从外部存储创建,从其他RDD转化。

 

RDD的创建

RDD学习

原文:https://www.cnblogs.com/blog-lmk/p/13220758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!