diff --git a/python/docs/source/reference/pyspark.rst b/python/docs/source/reference/pyspark.rst index 9a6fbb651716f..798cda64d4d09 100644 --- a/python/docs/source/reference/pyspark.rst +++ b/python/docs/source/reference/pyspark.rst @@ -74,6 +74,7 @@ Spark Context APIs SparkContext.getJobTags SparkContext.getLocalProperty SparkContext.getOrCreate + SparkContext.getSystemProperty SparkContext.hadoopFile SparkContext.hadoopRDD SparkContext.listArchives diff --git a/python/pyspark/core/context.py b/python/pyspark/core/context.py index 4225a20f64c94..63d41c11dafda 100644 --- a/python/pyspark/core/context.py +++ b/python/pyspark/core/context.py @@ -554,6 +554,28 @@ def setSystemProperty(cls, key: str, value: str) -> None: assert SparkContext._jvm is not None SparkContext._jvm.java.lang.System.setProperty(key, value) + @classmethod + def getSystemProperty(cls, key: str) -> str: + """ + Get a Java system property, such as `java.home`. + + .. versionadded:: 4.0.0 + + Parameters + ---------- + key : str + The key of a new Java system property. + + Examples + -------- + >>> sc.getSystemProperty("SPARK_SUBMIT") + 'true' + >>> _ = sc.getSystemProperty("java.home") + """ + SparkContext._ensure_initialized() + assert SparkContext._jvm is not None + return SparkContext._jvm.java.lang.System.getProperty(key) + @property def version(self) -> str: """