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

RDD 持久化机制当我持久化一个 RDD 然后使用 take(10) 而不是 count() 时会发生什么

如何解决RDD 持久化机制当我持久化一个 RDD 然后使用 take(10) 而不是 count() 时会发生什么

当我持久化一个 RDD 然后使用 take(10) 而不是 count() 时会发生什么。 我读过一些评论,它说如果我使用 take() 而不是 count,它可能只保留部分分区而不是所有分区。 但是,如果我的数据集足够大,那么使用 count 是非常耗时的。 是否有任何其他操作运算符可用于触发持久化以持久化所有分区。

foreachPartition 是一个 action 操作符,它需要所有分区的数据,我可以在持久化后使用它吗?

需要你的帮助~

例如:

val rdd1 = sc.textFile("src/main/resources/").persist()
rdd1.foreachPartition(partition=>partition.take(1))

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