欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

For循环中不可以嵌套RDD操作

发布时间:2025/4/16 编程问答 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 For循环中不可以嵌套RDD操作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

今天犯了一个致命理解错误,Spark中的RDD Map操作只是一个计算式的传递,并不是Action,也就是在for循环中不会产生真正的计算。

 

因此,如果for循环中出现了RDD的Map类似操作,都会引起异常,例如栈溢出等等,属于相互引用错误。

 

把我的错误代码贴在下面,加深理解。

 

List<String> list = new ArrayList<>();list.add("OK1");JavaRDD<String> temp = jsc.parallelize(list);for (int i=0; i<num; i++) {for (int j=i+1; j<num; j++) {List<String> list2 = new ArrayList<>();list2.add("OK2");temp = temp.union(jsc.parallelize(list2));}}List<String> list3 = temp.collect();

  

转载于:https://www.cnblogs.com/shixiangwan/p/6379710.html

总结

以上是生活随笔为你收集整理的For循环中不可以嵌套RDD操作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。