如何获取所有spark会话配置变量

djmepvbi  于 2023-10-23  发布在  Apache
关注(0)|答案(1)|浏览(84)

在数据块中,我可以在会话级别设置一个配置变量,但在上下文变量中找不到:

spark.conf.set(f"dataset.bookstore", '123') #dataset_bookstore
spark.conf.get(f"dataset.bookstore")#123
scf = spark.sparkContext.getConf()
allc = scf.getAll()
scf.contains(f"dataset.bookstore") # False

我知道会话级和上下文级配置变量之间存在差异,如何使用spark.conf检索所有会话级变量?
注意:all_session_vars = spark.conf.getAll()
返回

AttributeError: 'RuntimeConfig' object has no attribute 'getAll'

看起来像是运行时级别的配置

r8xiu3jd

r8xiu3jd1#

Pyspark的RuntimeConfigScala counterpart相比似乎确实有限。但是如果我们偷看它的源代码.

class RuntimeConfig:
    def __init__(self, jconf: JavaObject) -> None:
        """Create a new RuntimeConfig that wraps the underlying JVM object."""
        self._jconf = jconf

我们将能够检索它的底层JVM对象,并通过调用它的getAll方法:

c = spark.conf._jconf.getAll()
c.contains("dataset.bookstore")  # True

相关问题