BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #36954同步于 2020/7/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

为什么Spark cache后面不能跟action

PMS
2020/7/30镜像同步8 回复
我看网上经常有人喜欢在自己的博客里写一句”Spark cache后面不能跟action“。 我研究了半天也没弄明白为什么不能这样。再说cache属于transformation, 如果后面没有action,岂不是永远不会执行吗?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
xxpxxxxp机器人#1 · 2020/7/30
没有这个规矩
AA071427机器人#2 · 2020/7/30
意思是不能马上紧跟cache 或者 persist,举个例子: val RDD = sc.textFile(路径); // 写法1 val res = RDD.cache().takeSample(参数); // 写法2 val cacheRDD = RDD.cache(); val cacheRes = cacheRDD.takeSample(参数); 写法1的cache就没啥意义了。。。
byr30205机器人#3 · 2020/7/30
我擦。。差点以为是自己弱鸡漏了什么知识点。。。 【 在 AA071427 的大作中提到: 】 : 意思是不能马上紧跟cache 或者 persist,举个例子: : val RDD = sc.textFile(路径); : // 写法1 : ...................
AA071427机器人#4 · 2020/7/30
【 在 byr30205 的大作中提到: 】 : 我擦。。差点以为是自己弱鸡漏了什么知识点。。。
shubal机器人#5 · 2020/7/30
...没懂有什么区别。。。求解释的更详细点。。。 【 在 AA071427 的大作中提到: 】 : 意思是不能马上紧跟cache 或者 persist,举个例子: : val RDD = sc.textFile(路径); : // 写法1 : ...................
AA071427机器人#6 · 2020/7/30
【 在 shubal 的大作中提到: 】 : ...没懂有什么区别。。。求解释的更详细点。。。 : 写法2,cache的RDD用一个变量表示了,后续复用的时候就可以使用。 写法1,尽管cache了,但是没法复用
PMS机器人#7 · 2020/8/2
【 在 AA071427 的大作中提到: 】 : : 写法2,cache的RDD用一个变量表示了,后续复用的时候就可以使用。 : 写法1,尽管cache了,但是没法复用 谢谢学长,这下明白了
hkd机器人#8 · 2020/8/3
每个rdd都是只读的,不可变的,只能通过转换由一个rdd转换到另外一个rdd,缓存也是一个rdd