Spark记录

RDD只是一个逻辑概念,在内存中并不会真正地为某个RDD分配存储空间(除非该RDD需要被缓存)。
数据操作分为transform()action()两种。
transform()是一个单向操作,rdd1进行操作后会产生新的rdd2,不会修改rdd1。

依赖

窄依赖(NarrowDependency)

新生成的childRDD中的每一个分区都依赖parentRDD中的一部分分区

一对一依赖

map() fliter()

区域依赖

union()

多对一依赖

cogroup() join()

多对多依赖

cartesian()

宽依赖(ShuffleDependency)

新生成的childRDD中的每一个分区都依赖parentRDD中的每个分区的一部分

数据分区方法

水平划分

按照元素的下标划分
常用于输入数据的划分(Map)

Hash划分

HashPartitioner
经常被用于数据Shuffle阶段(Reducer)

Range划分

采用抽样方法来估算数据区域边界

上一篇:html通过js和css实现一个表(带图片)


下一篇:CSS的transform-origin 属性