【问题标题】:How to make sure that worker node can not change the broadcast variable in spark?如何确保工作节点不能更改 spark 中的广播变量?
【发布时间】:2018-09-21 01:53:13
【问题描述】:

由于我们可以使用可变对象作为spark中的广播变量,这意味着该对象的状态可以很容易地被工作节点改变。

有什么方法可以限制工作节点不修改可变对象?

【问题讨论】:

    标签: scala apache-spark spark-streaming


    【解决方案1】:

    对象被序列化,发送给所有工作人员,并分别在每个工作人员中进行反序列化。如果一个工人改变了对象,它只会影响那个工人。所以实际上,它已经是不可变的了。

    如果您想限制它以使即使工作人员也无法在他们自己的 JVM 中发生变异,您应该简单地使用不可变对象。如有必要,创建一个不可变的包装器或复制可变对象并广播它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多