开发者社区> 问答> 正文

为什么打印为空?

hbase小能手 2019-06-12 17:05:49 237

image
为什么打印为空呢

分享到
取消 提交回答
全部回答(1)
  • hbase小能手
    2019-07-17 23:37:04

    http://spark.apache.org/docs/latest/rdd-programming-guide.html#understanding-closures-
    把这段理解了,上面的问题就动了


    出了foreach的大括号 ArrayBuffer的生命周期就结束了


    问:那该用什么算子达到我要的效果啊
    答1:你声明的变量是driver端的,executor使用的话会实例化通过网络传过去,但是在task结束的时候,这个改变的内容是跟着jvm销毁了,并不会传回给driver其实你在这里看的是一个,其实是两个不同的对象
    答2: sourceRDD.foreachPartition{x =>
    val mutator = conn.getBufferedMutator(table)
    x.foreach{rowkey => mutator.delete(rowkey)}
    mutator.close
    }

    0 0
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章