Spark Broadcast 变量生命周期

Spark Broadcast variables life time

我是 运行 火花流作业,作为其中的一部分,我正在创建多个广播变量。

所以,我有两个问题。 1. 是否有任何函数可以给出所有广播变量的列表,例如 spark.getPersistentRDDs 列出所有持久化的 RDD。 2、Spark广播变量如果不销毁,一段时间不使用后会不会被Spark删除

  1. Spark 不提供像 getPersistentRDDs 这样列出所有广播变量的功能,但另一种解决方案是,无论何时创建广播变量,都将其存储在 list/queue 中以供将来参考。
  2. Spark 有 ContextCleaner,它会定期运行以删除未使用的广播变量。
    https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/ContextCleaner.scala#L233