微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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划分

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐