错误分析
1,rdd内不能再进行rdd操作
2,如果有外部变量
如
var a………………
rdd1.map({
处理代码
更新 a
})
则不会报错但a不会更新
解决方案
1,累加器
var accum_ind = sc.accumulator(1, "clk") iii = accum_ind.value accum_ind+=1
可以实现一些记录操作
2 collectAsMap
collectAsMap 会吧rdd的东西拉到本地
就可以进行进一步处理,不用担心rdd内不能处理rdd,也不用担心处理外部变量了,因为现在东西都在本地,不涉及rdd