首页 >

如何用通俗形象的语言解释下:Spark中的RDD到底是什么意思? – 网络|

电脑怎么看打开程序,苹果手机怎么用4g网络,问题域是什么如何用通俗形象的语言解释下:Spark中的RDD到底是什么意思? - 网络|如何用通俗形象的语言解释下:Spark中的RDD到底是什么意思

RDD本身就是一个Berkeley的博士们在写论文时,抽象出的概念,其本质与HadoopMapReduce处理时输入输出的key-value,Flink的dataset没有本质区别。处理时,任然使用iterator一边载入部分数据,一边执行运算(每个partition的实现内部实际就是一个iterator)。

偶个人认为,如果要通俗的解释RDD,第一步可以简单的把它想象成一个数组/列表,大家可以用迭代器类的东东遍历它,可以分片,可以打散;第二步,可以找一些例子,看些接口文档,毕竟直接以列表来理解还是优点偏差的;再之后,当用例子了解了功能后,可以更进一步的阅读下它的原理。rdd的算子主要分成2类,action和transformation。也就是变换以及一些操作。

关于rdd的特征,摘录下知乎上答友的一部分:

rdd的五个特征:

dependencies:建立RDD的依赖关系,主要rdd之间是宽窄依赖的关系,具有窄依赖关系的rdd可以在同一个stage中进行计算。

partition:一个rdd会有若干个分区,分区的大小决定了对这个rdd计算的粒度,每个rdd的分区的计算都在一个单独的任务中进行。

preferedlocations:按照“移动数据不如移动计算”原则,在spark进行任务调度的时候,优先将任务分配到数据块存储的位置。

compute:spark中的计算都是以分区为基本单位的,compute函数只是对迭代器进行复合,并不保存单次计算的结果。

partitioner:只存在于(K,V)类型的rdd中,非(K,V)类型的partitioner的值就是None。


如何用通俗形象的语言解释下:Spark中的RDD到底是什么意思? - 网络|
  • boss直聘如何搜索python工具开发? |python高并发面试
  • boss直聘如何搜索python工具开发? |python高并发面试 | boss直聘如何搜索python工具开发? |python高并发面试 ...

    如何用通俗形象的语言解释下:Spark中的RDD到底是什么意思? - 网络|
  • 如何面试Python技术人员(掌握这些方法,招聘不再愁) |python next()不自增
  • 如何面试Python技术人员(掌握这些方法,招聘不再愁) |python next()不自增 | 如何面试Python技术人员(掌握这些方法,招聘不再愁) |python next()不自增 ...

    如何用通俗形象的语言解释下:Spark中的RDD到底是什么意思? - 网络|
  • Python3页面编码问题解决方法详解 |python获取下一天日期
  • Python3页面编码问题解决方法详解 |python获取下一天日期 | Python3页面编码问题解决方法详解 |python获取下一天日期 ...